{"_id":"@marimo-team/codemirror-mcp","_rev":"6-04b3b1f5b0031bb27dd8864d76546335","name":"@marimo-team/codemirror-mcp","dist-tags":{"latest":"0.1.7"},"versions":{"0.1.2":{"name":"@marimo-team/codemirror-mcp","version":"0.1.2","keywords":["codemirror","codemirror-plugin","mcp"],"license":"Apache-2.0","_id":"@marimo-team/codemirror-mcp@0.1.2","maintainers":[{"name":"akshayka","email":"akshaykagrawal7@gmail.com"},{"name":"mscolnick","email":"mscolnick@gmail.com"}],"homepage":"https://github.com/marimo-team/codemirror-mcp#readme","bugs":{"url":"https://github.com/marimo-team/codemirror-mcp/issues"},"dist":{"shasum":"18697cc2e6cc9ebc3edf123961b5420dd233f813","tarball":"https://registry.npmjs.org/@marimo-team/codemirror-mcp/-/codemirror-mcp-0.1.2.tgz","fileCount":31,"integrity":"sha512-vAh0/K+1FnSJqsiTiSXJrWHr0nFPtKeDxNiJ2ErdQdWxwIWEnVDg+Mtq9M+1S9WoA43p8QDjm4iYSNeTLRMpug==","signatures":[{"sig":"MEQCIFnIacWRXzdTY2rXlli6FCRADhQiErcecG4YTjz0Eu5VAiB9Fv0eQ8hfUzBOxjhmpKkfVVEzToZ7V7kWsJRAJ7Pdcg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":68529},"type":"module","_from":"file:marimo-team-codemirror-mcp-0.1.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","$schema":"https://json.schemastore.org/package.json","engines":{"node":"*"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./package.json":"./package.json"},"scripts":{"dev":"vite","demo":"vite build","lint":"biome check --write","test":"vitest","build":"tsc","format":"biome format --write","release":"pnpm version","typecheck":"tsc --noEmit","pre-commit":"lint-staged"},"_npmUser":{"name":"mscolnick","email":"mscolnick@gmail.com"},"_resolved":"/tmp/af951d27236dc036ab9587f7a2348481/marimo-team-codemirror-mcp-0.1.2.tgz","_integrity":"sha512-vAh0/K+1FnSJqsiTiSXJrWHr0nFPtKeDxNiJ2ErdQdWxwIWEnVDg+Mtq9M+1S9WoA43p8QDjm4iYSNeTLRMpug==","repository":{"url":"git+https://github.com/marimo-team/codemirror-mcp.git","type":"git"},"_npmVersion":"10.9.0","description":"CodeMirror plugin for Model Context Provider","directories":{},"lint-staged":{"*.{ts,tsx}":["biome check --write","biome format --write","vitest related --run"]},"sideEffects":false,"_nodeVersion":"22.12.0","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.7","husky":"^9.0.5","jsdom":"^25.0.1","vitest":"^2.1.8","codemirror":"^6.0.1","typescript":"^5.7.3","@types/node":"^22.10.5","lint-staged":"^15.2.0","@biomejs/biome":"^1.9.4","@codemirror/view":"^6.36.1","@vitest/coverage-v8":"2.1.8","@codemirror/lang-markdown":"^6.3.1","@modelcontextprotocol/sdk":"^1.1.0","@codemirror/lang-javascript":"^6.2.2","@uiw/codemirror-extensions-mentions":"^4.23.7"},"peerDependencies":{"@codemirror/view":"^6","@codemirror/state":"^6","@codemirror/autocomplete":"^6","@modelcontextprotocol/sdk":"^1"},"_npmOperationalInternal":{"tmp":"tmp/codemirror-mcp_0.1.2_1736440991229_0.14407622057860792","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@marimo-team/codemirror-mcp","version":"0.1.3","keywords":["codemirror","codemirror-plugin","mcp"],"license":"Apache-2.0","_id":"@marimo-team/codemirror-mcp@0.1.3","maintainers":[{"name":"akshayka","email":"akshaykagrawal7@gmail.com"},{"name":"mscolnick","email":"mscolnick@gmail.com"}],"homepage":"https://github.com/marimo-team/codemirror-mcp#readme","bugs":{"url":"https://github.com/marimo-team/codemirror-mcp/issues"},"dist":{"shasum":"932cf97ad43a955a8d4187e6576df89a15dfdd35","tarball":"https://registry.npmjs.org/@marimo-team/codemirror-mcp/-/codemirror-mcp-0.1.3.tgz","fileCount":51,"integrity":"sha512-DVSmpxEZHgg/7A2zd5ZmKmD1AT+WRVL/ZUq+U5E6XR3OHXSVRl02QOiud7++9hqqiBW3v4/ua6MmWCbkuigmmA==","signatures":[{"sig":"MEQCICcwKzhiSoBulD1sJSEUsbJmWhGeOKaL8SvPvMH2/YmdAiBKotWIdK0zfI/8YOdWzWO1Lybj6btdtWT7zk/EiBT6yw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":128423},"type":"module","_from":"file:marimo-team-codemirror-mcp-0.1.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","$schema":"https://json.schemastore.org/package.json","engines":{"node":"*"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./package.json":"./package.json"},"scripts":{"dev":"vite","demo":"vite build","lint":"biome check --write","test":"vitest","build":"tsc","format":"biome format --write","release":"pnpm version","typecheck":"tsc --noEmit","pre-commit":"lint-staged"},"_npmUser":{"name":"mscolnick","email":"mscolnick@gmail.com"},"_resolved":"/tmp/948313c73bac9e3bee8e6d4645ed0c8b/marimo-team-codemirror-mcp-0.1.3.tgz","_integrity":"sha512-DVSmpxEZHgg/7A2zd5ZmKmD1AT+WRVL/ZUq+U5E6XR3OHXSVRl02QOiud7++9hqqiBW3v4/ua6MmWCbkuigmmA==","repository":{"url":"git+https://github.com/marimo-team/codemirror-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"CodeMirror plugin for Model Context Provider","directories":{},"lint-staged":{"*.{ts,tsx}":["biome check --write","biome format --write","vitest related --run"]},"sideEffects":false,"_nodeVersion":"22.17.1","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.7","husky":"^9.0.5","jsdom":"^25.0.1","vitest":"^2.1.8","codemirror":"^6.0.1","typescript":"^5.7.3","@types/node":"^22.10.5","lint-staged":"^15.2.0","@biomejs/biome":"^1.9.4","@codemirror/view":"^6.36.1","@vitest/coverage-v8":"2.1.8","@codemirror/lang-markdown":"^6.3.1","@modelcontextprotocol/sdk":"^1.1.0","@codemirror/lang-javascript":"^6.2.2","@uiw/codemirror-extensions-mentions":"^4.23.7"},"peerDependencies":{"@codemirror/view":"^6","@codemirror/state":"^6","@codemirror/autocomplete":"^6","@modelcontextprotocol/sdk":"^1"},"_npmOperationalInternal":{"tmp":"tmp/codemirror-mcp_0.1.3_1754669993025_0.515020277407719","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@marimo-team/codemirror-mcp","version":"0.1.4","keywords":["codemirror","codemirror-plugin","mcp"],"license":"Apache-2.0","_id":"@marimo-team/codemirror-mcp@0.1.4","maintainers":[{"name":"akshayka","email":"akshaykagrawal7@gmail.com"},{"name":"mscolnick","email":"mscolnick@gmail.com"}],"homepage":"https://github.com/marimo-team/codemirror-mcp#readme","bugs":{"url":"https://github.com/marimo-team/codemirror-mcp/issues"},"dist":{"shasum":"eac54e4544747381f1eac311ffbcff9155713002","tarball":"https://registry.npmjs.org/@marimo-team/codemirror-mcp/-/codemirror-mcp-0.1.4.tgz","fileCount":51,"integrity":"sha512-SkHgL/GNAgZBPXeRjlxLrsb3y5IuNaNWXeFZRKA8VKlxVdT12f1dNC/f9n5XhASK6TbIs/xCEJdDQwh6wM9Mfg==","signatures":[{"sig":"MEUCIEfuDqXAkOxecNF89S333rDzTtsZOPZetOpYquNIDsI1AiEAkvpLnyBbRfQrlYWF5V5n9zzaGxL8EAkS11lpeSb6flE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":128713},"type":"module","_from":"file:marimo-team-codemirror-mcp-0.1.4.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","$schema":"https://json.schemastore.org/package.json","engines":{"node":"*"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./package.json":"./package.json"},"scripts":{"dev":"vite","demo":"vite build","lint":"biome check --write","test":"vitest","build":"tsc","format":"biome format --write","release":"pnpm version","typecheck":"tsc --noEmit","pre-commit":"lint-staged"},"_npmUser":{"name":"mscolnick","email":"mscolnick@gmail.com"},"_resolved":"/tmp/416b3973a5bed8ea081677f0b42d1849/marimo-team-codemirror-mcp-0.1.4.tgz","_integrity":"sha512-SkHgL/GNAgZBPXeRjlxLrsb3y5IuNaNWXeFZRKA8VKlxVdT12f1dNC/f9n5XhASK6TbIs/xCEJdDQwh6wM9Mfg==","repository":{"url":"git+https://github.com/marimo-team/codemirror-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"CodeMirror plugin for Model Context Provider","directories":{},"lint-staged":{"*.{ts,tsx}":["biome check --write","biome format --write","vitest related --run"]},"sideEffects":false,"_nodeVersion":"22.17.1","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.7","husky":"^9.0.5","jsdom":"^25.0.1","vitest":"^2.1.8","codemirror":"^6.0.1","typescript":"^5.7.3","@types/node":"^22.10.5","lint-staged":"^15.2.0","@biomejs/biome":"^1.9.4","@codemirror/view":"^6.36.1","@vitest/coverage-v8":"2.1.8","@codemirror/lang-markdown":"^6.3.1","@modelcontextprotocol/sdk":"^1.1.0","@codemirror/lang-javascript":"^6.2.2","@uiw/codemirror-extensions-mentions":"^4.23.7"},"peerDependencies":{"@codemirror/view":"^6","@codemirror/state":"^6","@codemirror/autocomplete":"^6","@modelcontextprotocol/sdk":"^1"},"_npmOperationalInternal":{"tmp":"tmp/codemirror-mcp_0.1.4_1754672124321_0.07695571005355961","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@marimo-team/codemirror-mcp","version":"0.1.5","keywords":["codemirror","codemirror-plugin","mcp"],"license":"Apache-2.0","_id":"@marimo-team/codemirror-mcp@0.1.5","maintainers":[{"name":"akshayka","email":"akshaykagrawal7@gmail.com"},{"name":"mscolnick","email":"mscolnick@gmail.com"}],"homepage":"https://github.com/marimo-team/codemirror-mcp#readme","bugs":{"url":"https://github.com/marimo-team/codemirror-mcp/issues"},"dist":{"shasum":"30888a028ec0210efde452518bdeb4627a3e702a","tarball":"https://registry.npmjs.org/@marimo-team/codemirror-mcp/-/codemirror-mcp-0.1.5.tgz","fileCount":51,"integrity":"sha512-Gt4DGeQO0YIE7mvgNmYfRS1UggnfuZTROHmze80huglUTnZVqIe+2MllZAm/e4jEkI3J9iFYtxzpNLcVlkM8Nw==","signatures":[{"sig":"MEUCIQCGNGfhnbFzMYhCFQHwyCExKCRhUA3XKDS1WMsiUoYP8wIgR2NDpgI+d4HdbYDt8mhXpLXxK8aBPDhnPrWswIo3r44=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":131489},"type":"module","_from":"file:marimo-team-codemirror-mcp-0.1.5.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","$schema":"https://json.schemastore.org/package.json","engines":{"node":"*"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./package.json":"./package.json"},"scripts":{"dev":"vite","demo":"vite build","lint":"biome check --write","test":"vitest","build":"tsc","format":"biome format --write","release":"pnpm version","typecheck":"tsc --noEmit","pre-commit":"lint-staged"},"_npmUser":{"name":"mscolnick","email":"mscolnick@gmail.com"},"_resolved":"/tmp/387f699fbc0bf2e45b45cb1909d609a3/marimo-team-codemirror-mcp-0.1.5.tgz","_integrity":"sha512-Gt4DGeQO0YIE7mvgNmYfRS1UggnfuZTROHmze80huglUTnZVqIe+2MllZAm/e4jEkI3J9iFYtxzpNLcVlkM8Nw==","repository":{"url":"git+https://github.com/marimo-team/codemirror-mcp.git","type":"git"},"_npmVersion":"10.9.3","description":"CodeMirror plugin for Model Context Provider","directories":{},"lint-staged":{"*.{ts,tsx}":["biome check --write","biome format --write","vitest related --run"]},"sideEffects":false,"_nodeVersion":"22.18.0","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.7","husky":"^9.0.5","jsdom":"^25.0.1","vitest":"^2.1.8","codemirror":"^6.0.1","typescript":"^5.7.3","@types/node":"^22.10.5","lint-staged":"^15.2.0","@biomejs/biome":"^1.9.4","@codemirror/view":"^6.36.1","@vitest/coverage-v8":"2.1.8","@codemirror/lang-markdown":"^6.3.1","@modelcontextprotocol/sdk":"^1.1.0","@codemirror/lang-javascript":"^6.2.2","@uiw/codemirror-extensions-mentions":"^4.23.7"},"peerDependencies":{"@codemirror/view":"^6","@codemirror/state":"^6","@codemirror/autocomplete":"^6","@modelcontextprotocol/sdk":"^1"},"_npmOperationalInternal":{"tmp":"tmp/codemirror-mcp_0.1.5_1754864645138_0.5307333140124773","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@marimo-team/codemirror-mcp","version":"0.1.7","keywords":["codemirror","codemirror-plugin","mcp"],"license":"Apache-2.0","_id":"@marimo-team/codemirror-mcp@0.1.7","maintainers":[{"name":"akshayka","email":"akshaykagrawal7@gmail.com"},{"name":"mscolnick","email":"mscolnick@gmail.com"}],"homepage":"https://github.com/marimo-team/codemirror-mcp#readme","bugs":{"url":"https://github.com/marimo-team/codemirror-mcp/issues"},"dist":{"shasum":"a5b89d00cc66d2deb015176ebc66b9d098b42632","tarball":"https://registry.npmjs.org/@marimo-team/codemirror-mcp/-/codemirror-mcp-0.1.7.tgz","fileCount":55,"integrity":"sha512-1NhP6leKyIfG5KCAhzLXcMS6QSlS1Ls81M/SPAb9WwTjSNVDTTLu+4RByobB9Wps4NezNmYTKlvb2GbTjkRlZg==","signatures":[{"sig":"MEUCIQDfgjXUp1wDDuzLRSUvoLxropvOUf13lbjXIKTdStvqIwIgL+sKL5ECf6FWq4UJQIItvn+4iv3b6mBy4aCVOctsJnU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@marimo-team%2fcodemirror-mcp@0.1.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":152955},"type":"module","_from":"file:marimo-team-codemirror-mcp-0.1.7.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","$schema":"https://json.schemastore.org/package.json","engines":{"node":"*"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./package.json":"./package.json"},"scripts":{"dev":"vite","demo":"vite build","lint":"biome check --write","test":"vitest","build":"tsc","format":"biome format --write","release":"pnpm version","typecheck":"tsc --noEmit","pre-commit":"lint-staged"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0d512c9b-ddc2-4b0b-8db7-96f3131d452d"}},"_resolved":"/tmp/d2aeaf2d9c887a9dad595cf9a34a61b2/marimo-team-codemirror-mcp-0.1.7.tgz","_integrity":"sha512-1NhP6leKyIfG5KCAhzLXcMS6QSlS1Ls81M/SPAb9WwTjSNVDTTLu+4RByobB9Wps4NezNmYTKlvb2GbTjkRlZg==","repository":{"url":"git+https://github.com/marimo-team/codemirror-mcp.git","type":"git"},"_npmVersion":"11.13.0","description":"CodeMirror plugin for Model Context Provider","directories":{},"lint-staged":{"*.{ts,tsx}":["biome check --write","biome format --write","vitest related --run"]},"sideEffects":false,"_nodeVersion":"24.17.0","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.7","husky":"^9.0.5","jsdom":"^25.0.1","vitest":"^2.1.8","codemirror":"^6.0.1","typescript":"^5.7.3","@types/node":"^22.10.5","lint-staged":"^15.2.0","@biomejs/biome":"^1.9.4","@codemirror/view":"^6.36.1","@vitest/coverage-v8":"2.1.8","@codemirror/lang-markdown":"^6.3.1","@modelcontextprotocol/sdk":"^1.1.0","@codemirror/lang-javascript":"^6.2.2","@uiw/codemirror-extensions-mentions":"^4.23.7"},"peerDependencies":{"@codemirror/view":"^6","@codemirror/state":"^6","@codemirror/autocomplete":"^6","@modelcontextprotocol/sdk":"^1"},"_npmOperationalInternal":{"tmp":"tmp/codemirror-mcp_0.1.7_1782963236824_0.5471351283903203","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2025-01-09T16:43:11.149Z","modified":"2026-10-22T21:42:30.413Z","0.1.2":"2025-01-09T16:43:11.413Z","0.1.3":"2025-08-08T16:19:53.224Z","0.1.4":"2025-08-08T16:55:24.520Z","0.1.5":"2025-08-10T22:24:05.329Z","0.1.7":"2026-07-02T03:33:56.948Z"},"bugs":{"url":"https://github.com/marimo-team/codemirror-mcp/issues"},"license":"Apache-2.0","homepage":"https://github.com/marimo-team/codemirror-mcp#readme","keywords":["codemirror","codemirror-plugin","mcp"],"repository":{"url":"git+https://github.com/marimo-team/codemirror-mcp.git","type":"git"},"description":"CodeMirror plugin for Model Context Provider","maintainers":[{"email":"akshaykagrawal7@gmail.com","name":"akshayka"},{"email":"mscolnick@gmail.com","name":"mscolnick"},{"email":"robbat2@orbis-terrarum.net","name":"robbat2"}],"readme":"# codemirror-mcp\n\nA CodeMirror extension that implements the [Model Context Protocol](https://modelcontextprotocol.io) (MCP) for resource mentions and prompt commands.\n\n## Features\n\n- Resource Completion: Autocomplete for `@resource` mentions\n- Resource Decorations: Visual styling for `@resource` mentions with click handling\n- Prompt Completion: Autocomplete for `/prompt` commands\n- Theme Support: Customizable styling\n\n## Installation\n\n```bash\nnpm install @marimo-team/codemirror-mcp @modelcontextprotocol/sdk\n# or\npnpm add @marimo-team/codemirror-mcp @modelcontextprotocol/sdk\n```\n\n### Peer Dependencies\n\nThis module requires the following peer dependencies:\n\n- `@codemirror/view`\n- `@codemirror/state`\n- `@modelcontextprotocol/sdk`\n\n## Usage\n\n```ts\nimport { WebSocketClientTransport } from \"@modelcontextprotocol/sdk/client/websocket.js\";\nimport { mcpExtension, extractResources } from '@marimo-team/codemirror-mcp';\nimport { EditorView } from '@codemirror/view';\n\nconst transport = new WebSocketClientTransport(new URL('ws://localhost:8080'));\n\nconst view = new EditorView({\n  extensions: [\n    // ... other extensions\n\n    mcpExtension({\n      // Required options\n      transport: transport,\n\n      // Optional options\n      logger: console,\n      clientOptions: {\n        name: 'your-client',\n        version: '1.0.0'\n      },\n      onResourceClick: (resource) => {\n        // Open resource\n        // e.g. open in a tab, etc.\n      },\n    }),\n\n    // Handle submit\n    keymap.of([\n      {\n        key: 'Enter',\n        run: () => {\n          const resources = extractResources(view);\n          const formattedResources = resources\n            .map(\n              ({ resource }) =>\n                `${resource.uri} (${resource.type}): ${resource.description || resource.name}`\n            )\n            .join('\\n');\n          const prompt = `${view.state.doc.toString()}\\n\\nResources:\\n${formattedResources}`;\n          // ... submit prompt to AI server\n          // const response = await generateText(prompt);\n        },\n      },\n    ]),\n  ],\n  parent: document.querySelector('#editor'),\n});\n```\n\n## Resources\n\n- Use `@resource-uri` syntax to reference resources\n- Resources are visually decorated and clickable\n- Click handling for resource interactions\n- Hover tooltips show resource details\n- Customizable theme\n\n## Prompts\n\n- Use `/command` syntax for prompt commands\n- Autocomplete for available prompts\n\n## Development\n\n```bash\n# Install dependencies\npnpm install\n\n# Run tests\npnpm test\n\n# Run demo\npnpm dev\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md"}