Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
README.md | 2025-01-09 | 1.6 kB | |
v0.1.2 source code.tar.gz | 2025-01-09 | 50.3 kB | |
v0.1.2 source code.zip | 2025-01-09 | 60.4 kB | |
Totals: 3 Items | 112.3 kB | 0 |
First release
Usage
:::ts
import { mcpExtension, extractResources } from '@marimo-team/codemirror-mcp';
import { EditorView } from '@codemirror/view';
const view = new EditorView({
extensions: [
// ... other extensions
mcpExtension({
// Required options
transport: yourMCPTransport,
// Optional options
logger: console,
clientOptions: {
name: 'your-client',
version: '1.0.0'
},
onResourceClick: (resource) => {
// Open resource
// e.g. open in a tab, etc.
},
}),
// Handle submit
keymap.of([
{
key: 'Enter',
run: () => {
const resources = extractResources(view);
const formattedResources = resources
.map(
({ resource }) =>
`${resource.uri} (${resource.type}): ${resource.description || resource.name}`
)
.join('\n');
const prompt = `${view.state.doc.toString()}\n\nResources:\n${formattedResources}`;
// ... submit prompt to AI server
// const response = await generateText(prompt);
},
},
]),
],
parent: document.querySelector('#editor'),
});