Idynic MCP Server
The Model Context Protocol is an open standard for connecting AI clients to tools and data. The Idynic MCP server exposes your career portrait over it, so Claude, Cursor, or anything else that speaks MCP can read the evidence you have reviewed and work a role end to end without you pasting a resume into the conversation.
There are two ways to connect, and they reach the same account through the same API. Use the hosted endpoint unless you have a reason to run a process locally.
Remote over Streamable HTTP. No install. Point the client at one URL with your API key in the header.
Local over stdio. The client spawns @atriumn/idynic-mcp and talks to it on stdin and stdout.
https://idynic.com/api/mcp@atriumn/idynic-mcpNode.js >= 18
IDYNIC_API_KEYRemote (HTTP)
Point any client that supports the Streamable HTTP transport at https://idynic.com/api/mcp with your API key in the Authorization header.
It is one hosted server scoped per request: there is no session on the server side, and the key you send on each request decides whose account the tools operate on. A missing or unrecognised key gets a 401.
Get a key from Settings, API Keys. Copy it when it is created; it is not shown again.
Claude Code
One command, no file to edit. See the rail.
Cursor and other clients
Add a remote MCP server with the URL and header shown in the config block. Clients differ on where that file lives, but the object itself is the same everywhere.
https://idynic.com/api/mcpAuthorization: Bearer idn_your_key{
"mcpServers": {
"idynic": {
"url": "https://idynic.com/api/mcp",
"headers": {
"Authorization": "Bearer idn_your_key"
}
}
}
}claude mcp add --transport http idynic \
https://idynic.com/api/mcp \
--header "Authorization: Bearer idn_your_key"Local (stdio)
The same server, published to npm and spawned by your client. Run it with npx for no install, or install it globally if you would rather pin a version.
Claude Desktop
Edit the config file for your platform, then restart the app:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
Environment variables
IDYNIC_API_KEYRequired. The server exits at startup without it.IDYNIC_API_URLOptional. Defaults to https://idynic.com/api/v1.npx -y @atriumn/idynic-mcpnpm install -g @atriumn/idynic-mcp{
"mcpServers": {
"idynic": {
"command": "npx",
"args": ["-y", "@atriumn/idynic-mcp"],
"env": {
"IDYNIC_API_KEY": "idn_your_key"
}
}
}
}Keys and scopes
The tools run against the same REST API you would call yourself, with the same key and the same scope checks. That is the useful part: the key you paste into a client config is exactly the boundary on what that client can do.
A key holding only read:profile and read:claims lets an assistant describe your portrait and nothing else. Ask it to update your profile and the call comes back 403 insufficient_scope, which the assistant will report rather than silently failing.
Give each client its own key so you can revoke one without disturbing the others, and start narrow: you can widen a key by creating a new one at any point, including from inside the assistant with create_api_key.
The full scope vocabulary is in the API reference.
[
"read:profile",
"read:claims",
"read:opportunities"
][
"read:profile",
"read:claims",
"read:opportunities",
"write:opportunities",
"read:preferences"
]Tools
More than seventy tools, grouped below by what they touch. Two of them (explore_opportunities and explore_claims) render an interactive view in clients that support MCP UI apps, and fall back to text elsewhere.
Each tool declares its own arguments, which your client reads from the server at connect time. Calling help returns the current inventory from the running server, which is the authoritative answer if this page and the server ever disagree.
Profile and record
Read the assembled career record and edit any section of it. Every write is scoped to write:profile.
get_profileupdate_profileget_base_resumeregenerate_base_resumeedit_resume_bulletsadd_work_historyupdate_work_historydelete_work_historyadd_educationupdate_educationdelete_educationadd_certificationupdate_certificationdelete_certificationadd_projectupdate_projectdelete_projectget_projectsadd_ventureupdate_venturedelete_ventureget_venturesadd_skilldelete_skill
Evidence
The individual claims the portrait is built from, each with the sources behind it and a confidence score.
get_claimsget_claims_summaryget_claim_detaildismiss_claimget_identity_evolutionadd_storyrecompute_confidenceexplore_claims
Opportunities
Save a posting from a URL or pasted text, score it against your portrait, and keep the pipeline current.
add_opportunityadd_and_matchadd_and_tailoradd_tailor_sharelist_opportunitiesget_opportunitysearch_opportunitiesupdate_opportunity_statusstar_opportunitydelete_opportunityanalyze_matchportfolio_gapsget_opportunity_notesupdate_opportunity_notesbackfill_merge_opportunitiesexplore_opportunities
Intake queue and discovery
The review queue that forwarded job alerts and saved searches land in, plus the feedback that tunes what reaches it.
add_pending_opportunitylist_pending_opportunitiesbulk_review_pendingdismiss_pending_opportunityrescue_pending_opportunityrestore_pending_opportunitypromote_next_trancheget_discovery_query_healthlist_discovery_feedbackrecord_discovery_feedback
Tailoring and the application kit
Reframe the portrait for one role, draft the letter, grade the result, and hand over a link.
get_tailored_profileupdate_tailored_profileretailor_opportunitygenerate_cover_letterjudge_applicationcreate_share_link
Preferences and contacts
What you are looking for, and who you know where.
get_search_preferencesupdate_search_preferenceslist_contactsadd_contactupdate_contactdelete_contact
Keys and account
Mint a narrower key for another client without leaving the assistant. Ask help for the current inventory at runtime.
helpcreate_api_keylist_api_keysrevoke_api_key
"Save this posting and tell me
how I stack up: <url>"
-> add_and_match
<- scores, strengths, gaps"What keeps coming up across
everything I'm tracking?"
-> portfolio_gaps
<- gaps by type, score spread"Give me the link to send them."
-> create_share_link
<- Share link created: https://...
Expires: ...add_and_tailor and add_tailor_share queue background work rather than returning a finished kit. Poll the opportunity, or ask again in a minute.Resources
Resources are read-only documents addressed by URI. A client can attach one to a conversation directly, without a tool call. Templates take an opportunity id where {id} appears.
idynic://profileContact info and the assembled recordidynic://claimsClaims with confidence scoresidynic://work-historyWork history entriesidynic://venturesVentures you have founded or runidynic://projectsProjects synthesised from your evidenceidynic://opportunitiesTracked rolesidynic://opportunities/{id}One tracked roleidynic://opportunities/{id}/matchMatch analysis for one roleidynic://opportunities/{id}/tailoredThe tailored profile for one roleui://opportunity-explorerInteractive card grid, rendered by explore_opportunitiesui://identity-claim-explorerInteractive claim browser, rendered by explore_claimsidynic://profile
idynic://claims
idynic://work-history
idynic://ventures
idynic://projects
idynic://opportunities
idynic://opportunities/{id}
idynic://opportunities/{id}/match
idynic://opportunities/{id}/tailored
ui://opportunity-explorer
ui://identity-claim-explorerTroubleshooting
The client connects but lists no tools
For the local server, that usually means IDYNIC_API_KEY is not reaching the process. Client configs do not inherit your shell environment, so the key has to be in the env block of the config itself.
Every call comes back 401
The key was revoked, or the header is missing the Bearer prefix. Check it with GET /api/v1/auth/verify, which succeeds on any valid key regardless of its scopes.
One tool fails with 403 while the rest work
That is a scope, not an outage. The error names the scope it wanted. Create a key that holds it and swap it into the config.
Requests start failing with 429
The account rate limit is shared across your browser tabs, the extension, and every MCP session at once. Back off on the Retry-After header. See rate limits.
curl https://idynic.com/api/v1/auth/verify \
-H "Authorization: Bearer idn_your_key"