{"_id":"@curvet/mcp","_rev":"2-c566ceed5fe72af88b1f265599b18d01","name":"@curvet/mcp","dist-tags":{"latest":"0.2.0"},"versions":{"0.1.0":{"name":"@curvet/mcp","version":"0.1.0","keywords":["curvet","mcp","model-context-protocol","ai","agent","tools"],"author":{"name":"Curvet","email":"hello@curvet.in"},"license":"MIT","_id":"@curvet/mcp@0.1.0","maintainers":[{"name":"curvet","email":"hello@curvet.in"}],"homepage":"https://github.com/Curvet-in/curvet-mcp#readme","bugs":{"url":"https://github.com/Curvet-in/curvet-mcp/issues"},"dist":{"shasum":"195c052dbacc16653e35a122939d9fd0e82a41cd","tarball":"https://registry.npmjs.org/@curvet/mcp/-/mcp-0.1.0.tgz","fileCount":10,"integrity":"sha512-8SbCBfT00KZhlvTuH6YeC9RO+UZv1YPTxUNQ6uulMxrkSF1mbwgMKBvyUHbiCnBSHbhTOUSFs+tGj6IbWoLc5Q==","signatures":[{"sig":"MEUCIBA8S1GZRaGex+Ubnh8HdBNAZ/iclInOfm5CwbQ6vUEJAiEA/lxu6eEpi42wiOf8anVrjpVHRIc7Sy/SdhbbCMBiugc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":180814},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"74020e07babc11c79cc165e01b7990358d058c48","scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run typecheck && npm run test && npm run build"},"_npmUser":{"name":"curvet","email":"hello@curvet.in"},"repository":{"url":"git+https://github.com/Curvet-in/curvet-mcp.git","type":"git"},"_npmVersion":"10.9.3","description":"Curvet's MCP tools — models, media generation, workflows and the Curvet agent, as one tool module served over any transport.","directories":{},"_nodeVersion":"22.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.3","tsup":"^8.1.0","vitest":"^1.6.0","typescript":"^5.4.5","@curvet/sdk":"^0.12.0","@types/node":"^20.14.0","@modelcontextprotocol/sdk":"^1.30.0"},"peerDependencies":{"zod":">=3.23.0","@curvet/sdk":">=0.12.0","@modelcontextprotocol/sdk":">=1.25.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.1.0_1788140814155_0.6103560348395856","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@curvet/mcp","version":"0.2.0","description":"Curvet's MCP tools — models, media generation, workflows and the Curvet agent, as one tool module served over any transport.","license":"MIT","author":{"name":"Curvet","email":"hello@curvet.in"},"type":"module","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"engines":{"node":">=18"},"scripts":{"build":"tsup","test":"vitest run","test:watch":"vitest","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run test && npm run build"},"keywords":["curvet","mcp","model-context-protocol","ai","agent","tools"],"repository":{"type":"git","url":"git+https://github.com/Curvet-in/curvet-mcp.git"},"homepage":"https://github.com/Curvet-in/curvet-mcp#readme","bugs":{"url":"https://github.com/Curvet-in/curvet-mcp/issues"},"publishConfig":{"access":"public"},"peerDependencies":{"@curvet/sdk":">=0.12.0","@modelcontextprotocol/sdk":">=1.25.0","zod":">=3.23.0"},"devDependencies":{"@curvet/sdk":"^0.12.0","@modelcontextprotocol/sdk":"^1.30.0","@types/node":"^20.14.0","tsup":"^8.1.0","typescript":"^5.4.5","vitest":"^1.6.0","zod":"^4.4.3"},"_id":"@curvet/mcp@0.2.0","gitHead":"78fe5466ca086325e854cb4d2845bec85dcdff51","_nodeVersion":"22.20.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-hF3SuTlAbzG6tzf0/BqI9aIkCjTG1JSieAW7+Z9GFYPXW5M8caYGjbNEPDKnfKV+0kSYRoOHlfU5Aq2ecU+6Vg==","shasum":"c046f53559e0aa16ee929b70fdc24d6f24bc158f","tarball":"https://registry.npmjs.org/@curvet/mcp/-/mcp-0.2.0.tgz","fileCount":10,"unpackedSize":186558,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDnlZzl9v/dyWjP9jg3zuSxmxZ4OfLke0LnzIYOifXb+QIgdsDRhzLTgA22s7x7EAheP9RP4S5T30QTc7g32zJcX9w="}]},"_npmUser":{"name":"curvet","email":"hello@curvet.in"},"directories":{},"maintainers":[{"name":"curvet","email":"hello@curvet.in"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp_0.2.0_1788142961434_0.8078690942811975"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-31T01:46:53.972Z","modified":"2026-08-31T02:22:41.765Z","0.1.0":"2026-08-31T01:46:54.286Z","0.2.0":"2026-08-31T02:22:41.578Z"},"bugs":{"url":"https://github.com/Curvet-in/curvet-mcp/issues"},"author":{"name":"Curvet","email":"hello@curvet.in"},"license":"MIT","homepage":"https://github.com/Curvet-in/curvet-mcp#readme","keywords":["curvet","mcp","model-context-protocol","ai","agent","tools"],"repository":{"type":"git","url":"git+https://github.com/Curvet-in/curvet-mcp.git"},"description":"Curvet's MCP tools — models, media generation, workflows and the Curvet agent, as one tool module served over any transport.","maintainers":[{"name":"curvet","email":"hello@curvet.in"}],"readme":"# @curvet/mcp\n\nCurvet's MCP tools as **one module, served over any transport**.\n\n```ts\nimport { McpServer } from \"@modelcontextprotocol/sdk/server/mcp.js\";\nimport { Curvet } from \"@curvet/sdk\";\nimport { buildServer, capabilitiesFor, instructionsFor } from \"@curvet/mcp\";\n\nconst client = new Curvet({ appKey, cliToken });\nconst capabilities = capabilitiesFor({ appKey, cliToken }, { localFiles: false });\n\nconst server = buildServer(\n  new McpServer({ name: \"curvet\", version: \"1.0.0\" }, { instructions: instructionsFor(capabilities) }),\n  { client, capabilities },\n);\n```\n\nThis package exists so that `curvet mcp` (stdio, on the user's machine) and\nCurvet's hosted endpoint serve **the same tools** rather than two\nimplementations that drift. The previous hosted server drifted until it\nadvertised 44 tools for features that no longer existed, and then stopped\nstarting at all.\n\n## What it offers\n\nTwelve tools, chosen against what the SDK can reach rather than against the\nCLI's command list — half a CLI exists because a human is typing, and every tool\ndescription is in the model's context on every turn.\n\n```\nrun_agent · get_agent_run\nchat · list_models\ngenerate_image · generate_video · generate_audio · generate_3d · transcribe_audio\nget_job\nworkflows          list + describe + run + status, collapsed\naccount            balance + usage, collapsed\n```\n\nThe two collapses and the five that stay apart are the same rule applied twice:\n**a description is a selection signal only where the model must choose.** It\nmust choose a modality; it does not choose between \"list workflows\" and\n\"describe a workflow\".\n\n## Capabilities are declared, not discovered\n\n`buildServer` registers what the given credentials can actually reach, and says\nwhat is missing in the server instructions. A profile with only an app key gets\nthe playground tools and is told to run `curvet login --scope agency:run`; one\nwith only a CLI token gets the agent tools. A tool that could only ever fail is\nabsent rather than offered.\n\n`localFiles` is a promise about the host. Set it `true` only if you supply the\n`attach` and `transcribe` resolvers — `buildServer` throws otherwise, because a\nsilently shrinking tool list is the failure this package was written to end.\n\n## Peer dependencies, on purpose\n\n`@modelcontextprotocol/sdk`, `@curvet/sdk` and `zod` are **peers**, so a host\nresolves exactly one copy of each. Two copies of zod means a schema built by one\nfails the other's validation — which is precisely how Curvet's previous hosted\nserver died: a floating `^1.25.3` picked up an SDK that validated tool schemas\nmore strictly, and it threw inside its own constructor on every connection.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}