mne-docs-mcp 1.0.21 → 1.0.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -7
- package/dist/cache/manager.d.ts.map +1 -1
- package/dist/cache/manager.js +32 -8
- package/dist/cache/manager.js.map +1 -1
- package/dist/config.d.ts +13 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +15 -5
- package/dist/config.js.map +1 -1
- package/dist/github/client.d.ts +10 -0
- package/dist/github/client.d.ts.map +1 -1
- package/dist/github/client.js +92 -21
- package/dist/github/client.js.map +1 -1
- package/dist/index.js +33 -4
- package/dist/index.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +56 -181
- package/dist/server.js.map +1 -1
- package/dist/tools/annotations.d.ts +12 -0
- package/dist/tools/annotations.d.ts.map +1 -0
- package/dist/tools/annotations.js +12 -0
- package/dist/tools/annotations.js.map +1 -0
- package/dist/tools/findMneSymbol.d.ts +41 -0
- package/dist/tools/findMneSymbol.d.ts.map +1 -1
- package/dist/tools/findMneSymbol.js +22 -0
- package/dist/tools/findMneSymbol.js.map +1 -1
- package/dist/tools/getMneChangelog.d.ts +19 -0
- package/dist/tools/getMneChangelog.d.ts.map +1 -1
- package/dist/tools/getMneChangelog.js +15 -1
- package/dist/tools/getMneChangelog.js.map +1 -1
- package/dist/tools/getMneDoc.d.ts +19 -0
- package/dist/tools/getMneDoc.d.ts.map +1 -1
- package/dist/tools/getMneDoc.js +14 -0
- package/dist/tools/getMneDoc.js.map +1 -1
- package/dist/tools/getMneExample.d.ts +22 -0
- package/dist/tools/getMneExample.d.ts.map +1 -1
- package/dist/tools/getMneExample.js +18 -1
- package/dist/tools/getMneExample.js.map +1 -1
- package/dist/tools/getMneFile.d.ts +22 -0
- package/dist/tools/getMneFile.d.ts.map +1 -1
- package/dist/tools/getMneFile.js +18 -1
- package/dist/tools/getMneFile.js.map +1 -1
- package/dist/tools/getMneForumTopic.d.ts +19 -0
- package/dist/tools/getMneForumTopic.d.ts.map +1 -1
- package/dist/tools/getMneForumTopic.js +14 -0
- package/dist/tools/getMneForumTopic.js.map +1 -1
- package/dist/tools/getMneIssue.d.ts +18 -0
- package/dist/tools/getMneIssue.d.ts.map +1 -1
- package/dist/tools/getMneIssue.js +14 -1
- package/dist/tools/getMneIssue.js.map +1 -1
- package/dist/tools/getMneIssueComments.d.ts +18 -0
- package/dist/tools/getMneIssueComments.d.ts.map +1 -1
- package/dist/tools/getMneIssueComments.js +14 -1
- package/dist/tools/getMneIssueComments.js.map +1 -1
- package/dist/tools/getRelatedSymbols.d.ts +19 -0
- package/dist/tools/getRelatedSymbols.d.ts.map +1 -1
- package/dist/tools/getRelatedSymbols.js +14 -0
- package/dist/tools/getRelatedSymbols.js.map +1 -1
- package/dist/tools/getSymbolReferences.d.ts +19 -0
- package/dist/tools/getSymbolReferences.d.ts.map +1 -1
- package/dist/tools/getSymbolReferences.js +14 -0
- package/dist/tools/getSymbolReferences.js.map +1 -1
- package/dist/tools/index.d.ts +16 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +16 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/listMneVersions.d.ts +71 -0
- package/dist/tools/listMneVersions.d.ts.map +1 -1
- package/dist/tools/listMneVersions.js +19 -1
- package/dist/tools/listMneVersions.js.map +1 -1
- package/dist/tools/lookupMneError.d.ts +19 -1
- package/dist/tools/lookupMneError.d.ts.map +1 -1
- package/dist/tools/lookupMneError.js +14 -0
- package/dist/tools/lookupMneError.js.map +1 -1
- package/dist/tools/searchMneDocs.d.ts +20 -0
- package/dist/tools/searchMneDocs.d.ts.map +1 -1
- package/dist/tools/searchMneDocs.js +16 -1
- package/dist/tools/searchMneDocs.js.map +1 -1
- package/dist/tools/searchMneForum.d.ts +18 -0
- package/dist/tools/searchMneForum.d.ts.map +1 -1
- package/dist/tools/searchMneForum.js +13 -0
- package/dist/tools/searchMneForum.js.map +1 -1
- package/dist/tools/searchMneIssues.d.ts +22 -1
- package/dist/tools/searchMneIssues.d.ts.map +1 -1
- package/dist/tools/searchMneIssues.js +18 -1
- package/dist/tools/searchMneIssues.js.map +1 -1
- package/package.json +1 -2
- package/python/requirements.txt +0 -2
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AACnG,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,oEAAoE;AACpE,6EAA6E;AAC7E,sEAAsE;AACtE,IAAI,CAAC;IACD,8DAA8D;IAC7D,OAAe,CAAC,WAAW,EAAE,EAAE,CAAC;AACrC,CAAC;AAAC,MAAM,CAAC;IACL,yEAAyE;AAC7E,CAAC;AAED,KAAK,UAAU,IAAI;IACf,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,UAAU,CAAC,MAAM,CAAC,CAAC;IACnB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAgDrC,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,sBAwDhD"}
|
package/dist/server.js
CHANGED
|
@@ -1,60 +1,79 @@
|
|
|
1
1
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
|
-
import { z } from 'zod';
|
|
3
|
-
import { MNE_PACKAGE_NAMES } from './config.js';
|
|
4
2
|
import { getLogger } from './utils/logger.js';
|
|
5
3
|
import { metrics } from './utils/metrics.js';
|
|
6
4
|
import { GitHubClient } from './github/client.js';
|
|
7
5
|
import { CacheManager } from './cache/manager.js';
|
|
8
|
-
import { listMneVersions } from './tools/listMneVersions.js';
|
|
9
|
-
import { getMneFile } from './tools/getMneFile.js';
|
|
10
|
-
import { getMneDoc } from './tools/getMneDoc.js';
|
|
11
|
-
import { findMneSymbol } from './tools/findMneSymbol.js';
|
|
12
|
-
import { searchMneDocs } from './tools/searchMneDocs.js';
|
|
13
|
-
import { searchMneIssues } from './tools/searchMneIssues.js';
|
|
14
|
-
import { getMneIssue } from './tools/getMneIssue.js';
|
|
15
|
-
import { getMneIssueComments } from './tools/getMneIssueComments.js';
|
|
16
|
-
import { searchMneForum } from './tools/searchMneForum.js';
|
|
17
|
-
import { getSymbolReferences } from './tools/getSymbolReferences.js';
|
|
18
|
-
import { getMneForumTopic } from './tools/getMneForumTopic.js';
|
|
19
|
-
import { getMneChangelog } from './tools/getMneChangelog.js';
|
|
20
|
-
import { getMneExample } from './tools/getMneExample.js';
|
|
21
|
-
import { getRelatedSymbols } from './tools/getRelatedSymbols.js';
|
|
22
|
-
import { lookupMneError } from './tools/lookupMneError.js';
|
|
23
6
|
import { PythonParserBridge } from './parser/bridge.js';
|
|
24
7
|
import { ForumClient } from './forum/client.js';
|
|
25
8
|
import { McpError } from './types.js';
|
|
26
9
|
import { getVersion } from './version.js';
|
|
27
|
-
|
|
28
|
-
const
|
|
29
|
-
|
|
10
|
+
import * as allTools from './tools/index.js';
|
|
11
|
+
const URL_KEYS = ['sourceUrl', 'docsUrl', 'htmlUrl', 'url'];
|
|
12
|
+
const RESOURCE_LINK_NAMES = { sourceUrl: 'Source', docsUrl: 'Docs', htmlUrl: 'Link', url: 'Link' };
|
|
13
|
+
function isHttpUrl(s) {
|
|
14
|
+
return typeof s === 'string' && (s.startsWith('http://') || s.startsWith('https://'));
|
|
15
|
+
}
|
|
16
|
+
function extractResourceLinks(result) {
|
|
17
|
+
const seen = new Set();
|
|
18
|
+
const links = [];
|
|
19
|
+
function collect(obj) {
|
|
20
|
+
if (!obj || typeof obj !== 'object')
|
|
21
|
+
return;
|
|
22
|
+
if (Array.isArray(obj)) {
|
|
23
|
+
obj.forEach(collect);
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
for (const key of URL_KEYS) {
|
|
27
|
+
const val = obj[key];
|
|
28
|
+
if (isHttpUrl(val) && !seen.has(val)) {
|
|
29
|
+
seen.add(val);
|
|
30
|
+
links.push({
|
|
31
|
+
type: 'resource_link',
|
|
32
|
+
uri: val,
|
|
33
|
+
name: RESOURCE_LINK_NAMES[key] ?? 'Link',
|
|
34
|
+
annotations: { audience: ['user', 'assistant'], priority: 0.9 },
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
for (const v of Object.values(obj)) {
|
|
39
|
+
if (Array.isArray(v))
|
|
40
|
+
v.forEach(collect);
|
|
41
|
+
else if (v && typeof v === 'object')
|
|
42
|
+
collect(v);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
collect(result);
|
|
46
|
+
return links;
|
|
47
|
+
}
|
|
30
48
|
export async function createServer(config) {
|
|
31
49
|
const logger = getLogger();
|
|
32
50
|
logger.info('Initializing MNE Docs MCP Server...');
|
|
33
|
-
// Initialize components
|
|
34
|
-
const githubClient = new GitHubClient(config);
|
|
35
|
-
const cacheManager = new CacheManager(config);
|
|
36
|
-
const parserBridge = new PythonParserBridge(config);
|
|
37
|
-
const forumClient = new ForumClient(config.forumBaseUrl, config.forumTimeout);
|
|
38
|
-
// Tool context
|
|
39
51
|
const toolContext = {
|
|
40
|
-
github:
|
|
41
|
-
cache:
|
|
42
|
-
parser:
|
|
43
|
-
forum:
|
|
52
|
+
github: new GitHubClient(config),
|
|
53
|
+
cache: new CacheManager(config),
|
|
54
|
+
parser: new PythonParserBridge(config),
|
|
55
|
+
forum: new ForumClient(config.forumBaseUrl, config.forumTimeout),
|
|
44
56
|
};
|
|
45
57
|
const server = new McpServer({
|
|
46
58
|
name: 'mne-docs-mcp',
|
|
47
59
|
version: getVersion(),
|
|
48
60
|
});
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
61
|
+
for (const tool of Object.values(allTools)) {
|
|
62
|
+
const { name, title, description, inputSchema, annotations, outputSchema } = tool.definition;
|
|
63
|
+
server.registerTool(name, { title, description, inputSchema, ...(annotations && { annotations }), ...(outputSchema && { outputSchema }) }, async (args) => {
|
|
52
64
|
logger.info(`Tool call: ${name}`, args);
|
|
53
65
|
metrics.recordToolCall(name);
|
|
54
66
|
try {
|
|
55
|
-
const result = await handler(args);
|
|
67
|
+
const result = await tool.handler(args, toolContext);
|
|
56
68
|
const text = typeof result === 'string' ? result : JSON.stringify(result, null, 2);
|
|
57
|
-
|
|
69
|
+
const content = [
|
|
70
|
+
{ type: 'text', text, annotations: { audience: ['assistant'], priority: 1 } },
|
|
71
|
+
...(typeof result === 'object' && result !== null ? extractResourceLinks(result) : []),
|
|
72
|
+
];
|
|
73
|
+
if (outputSchema && typeof result === 'object' && result !== null) {
|
|
74
|
+
return { content, structuredContent: result };
|
|
75
|
+
}
|
|
76
|
+
return { content };
|
|
58
77
|
}
|
|
59
78
|
catch (error) {
|
|
60
79
|
if (error instanceof McpError) {
|
|
@@ -71,152 +90,8 @@ export async function createServer(config) {
|
|
|
71
90
|
isError: true,
|
|
72
91
|
};
|
|
73
92
|
}
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
// Register tools
|
|
77
|
-
server.registerTool('list_mne_versions', {
|
|
78
|
-
title: 'List MNE Versions',
|
|
79
|
-
description: 'List available release versions for MNE-Python or related packages (mne-bids, mne-connectivity, etc.). Use to find valid version numbers before querying docs or code.',
|
|
80
|
-
inputSchema: {
|
|
81
|
-
limit: z.number().optional().describe('Max versions to return (default: 20)'),
|
|
82
|
-
stableOnly: z.boolean().optional().describe('Only return stable releases, excluding alpha/beta/rc/dev tags (default: false)'),
|
|
83
|
-
package: packageSchema,
|
|
84
|
-
},
|
|
85
|
-
}, wrapTool('list_mne_versions', (args) => listMneVersions(args, toolContext)));
|
|
86
|
-
server.registerTool('get_mne_file', {
|
|
87
|
-
title: 'Get MNE File',
|
|
88
|
-
description: 'Fetch raw source code from MNE-Python or related package repositories. Use when you need to see the actual implementation of a function or class.',
|
|
89
|
-
inputSchema: {
|
|
90
|
-
path: z.string().describe('File path in repo, e.g. "mne/epochs.py" or "mne_bids/write.py"'),
|
|
91
|
-
version: z.string().optional().describe('Version tag, e.g. "1.6.0" (default: latest)'),
|
|
92
|
-
maxLines: z.number().optional().describe('Truncate output to N lines'),
|
|
93
|
-
startLine: z.number().optional().describe('Start from this line number'),
|
|
94
|
-
endLine: z.number().optional().describe('End at this line number'),
|
|
95
|
-
package: packageSchema,
|
|
96
|
-
},
|
|
97
|
-
}, wrapTool('get_mne_file', (args) => getMneFile(args, toolContext)));
|
|
98
|
-
server.registerTool('get_mne_doc', {
|
|
99
|
-
title: 'Get MNE Documentation',
|
|
100
|
-
description: 'Get the docstring and API documentation for an MNE-Python class, function, or method. Returns signature, parameters, examples, and links to official docs. Use when users ask "how do I use X?" or "what does X do?"',
|
|
101
|
-
inputSchema: {
|
|
102
|
-
symbol: z.string().describe('Fully qualified name, e.g. "mne.Epochs", "mne.io.read_raw_fif", "mne.preprocessing.ICA"'),
|
|
103
|
-
version: z.string().optional().describe('Version tag (default: latest)'),
|
|
104
|
-
brief: z.boolean().optional().describe('Return only summary and signature to save tokens (default: false)'),
|
|
105
|
-
},
|
|
106
|
-
}, wrapTool('get_mne_doc', (args) => getMneDoc(args, toolContext)));
|
|
107
|
-
server.registerTool('find_mne_symbol', {
|
|
108
|
-
title: 'Find MNE Symbol',
|
|
109
|
-
description: 'Search for classes, functions, or methods in MNE-Python by name. Use when you know part of a name but not the full path, e.g. "filter" finds mne.filter.filter_data, mne.io.Raw.filter, etc.',
|
|
110
|
-
inputSchema: {
|
|
111
|
-
query: z.string().describe('Search term, e.g. "filter", "epoch", "ica"'),
|
|
112
|
-
version: z.string().optional().describe('Version tag (default: latest)'),
|
|
113
|
-
maxResults: z.number().optional().describe('Max results to return (default: 10)'),
|
|
114
|
-
includePrivate: z.boolean().optional().describe('Include private (_name) symbols (default: false)'),
|
|
115
|
-
},
|
|
116
|
-
}, wrapTool('find_mne_symbol', (args) => findMneSymbol(args, toolContext)));
|
|
117
|
-
server.registerTool('search_mne_docs', {
|
|
118
|
-
title: 'Search MNE Docs',
|
|
119
|
-
description: 'Full-text search across MNE documentation, source code, GitHub issues, and community forum. Use for broad queries like "how to remove artifacts" or "memory error when loading".',
|
|
120
|
-
inputSchema: {
|
|
121
|
-
query: z.string().describe('Search query, e.g. "artifact rejection", "ICA tutorial", "memory leak"'),
|
|
122
|
-
version: z.string().optional().describe('Version tag (default: latest)'),
|
|
123
|
-
maxResultsPerSource: z.number().optional().describe('Max results per source type (default: 5)'),
|
|
124
|
-
package: packageSchema,
|
|
125
|
-
},
|
|
126
|
-
}, wrapTool('search_mne_docs', (args) => searchMneDocs(args, toolContext)));
|
|
127
|
-
server.registerTool('search_mne_issues', {
|
|
128
|
-
title: 'Search MNE Issues',
|
|
129
|
-
description: 'Search GitHub issues for MNE packages. Use to find bug reports, feature requests, or known problems. Helpful when users encounter errors or unexpected behavior.',
|
|
130
|
-
inputSchema: {
|
|
131
|
-
query: z.string().describe('Search query, e.g. "memory leak", "segmentation fault", "deprecation warning"'),
|
|
132
|
-
state: z.enum(['open', 'closed', 'all']).optional().describe('Filter by issue state (default: all)'),
|
|
133
|
-
labels: z.array(z.string()).optional().describe('Filter by labels, e.g. ["bug", "help wanted"]'),
|
|
134
|
-
maxResults: z.number().optional().describe('Max results (default: 10)'),
|
|
135
|
-
sort: z.enum(['relevance', 'updated', 'created', 'comments']).optional().describe('Sort order (default: relevance). Use "updated" for most recently active issues.'),
|
|
136
|
-
package: packageSchema,
|
|
137
|
-
},
|
|
138
|
-
}, wrapTool('search_mne_issues', (args) => searchMneIssues(args, toolContext)));
|
|
139
|
-
server.registerTool('get_mne_issue', {
|
|
140
|
-
title: 'Get MNE Issue',
|
|
141
|
-
description: 'Get full details of a specific GitHub issue by number. Use after search_mne_issues to read the complete issue description and context.',
|
|
142
|
-
inputSchema: {
|
|
143
|
-
issueNumber: z.number().describe('GitHub issue number, e.g. 12345'),
|
|
144
|
-
package: packageSchema,
|
|
145
|
-
},
|
|
146
|
-
}, wrapTool('get_mne_issue', (args) => getMneIssue(args, toolContext)));
|
|
147
|
-
server.registerTool('get_mne_issue_comments', {
|
|
148
|
-
title: 'Get MNE Issue Comments',
|
|
149
|
-
description: 'Get all comments on a GitHub issue. Use to see the discussion, workarounds, and resolution for a bug or feature request.',
|
|
150
|
-
inputSchema: {
|
|
151
|
-
issueNumber: z.number().describe('GitHub issue number'),
|
|
152
|
-
package: packageSchema,
|
|
153
|
-
},
|
|
154
|
-
}, wrapTool('get_mne_issue_comments', (args) => getMneIssueComments(args, toolContext)));
|
|
155
|
-
server.registerTool('search_mne_forum', {
|
|
156
|
-
title: 'Search MNE Forum',
|
|
157
|
-
description: 'Search the MNE community Discourse forum for user questions and answers. Great for "how do I..." questions, troubleshooting, and best practices from the community.',
|
|
158
|
-
inputSchema: {
|
|
159
|
-
query: z.string().describe('Search query, e.g. "ICA artifact removal", "source localization", "EEG preprocessing"'),
|
|
160
|
-
maxResults: z.number().optional().describe('Max results (default: 5)'),
|
|
161
|
-
},
|
|
162
|
-
}, wrapTool('search_mne_forum', (args) => searchMneForum(args, toolContext)));
|
|
163
|
-
server.registerTool('get_symbol_references', {
|
|
164
|
-
title: 'Get Symbol References',
|
|
165
|
-
description: 'Find what functions a symbol calls (callees) and what calls it (callers). Use to understand code dependencies or find related functionality.',
|
|
166
|
-
inputSchema: {
|
|
167
|
-
symbol: z.string().describe('Fully qualified name, e.g. "mne.filter.filter_data"'),
|
|
168
|
-
version: z.string().optional().describe('Version tag (default: latest)'),
|
|
169
|
-
crossFile: z.boolean().optional().describe('Also search for callers in other files via GitHub code search (default: false, costs extra API calls)'),
|
|
170
|
-
},
|
|
171
|
-
}, wrapTool('get_symbol_references', (args) => getSymbolReferences(args, toolContext)));
|
|
172
|
-
server.registerTool('get_mne_forum_topic', {
|
|
173
|
-
title: 'Get MNE Forum Topic',
|
|
174
|
-
description: 'Get the full content of a forum discussion including all posts. Use after search_mne_forum to read complete answers and solutions.',
|
|
175
|
-
inputSchema: {
|
|
176
|
-
topicId: z.number().describe('Forum topic ID (from search_mne_forum results URL)'),
|
|
177
|
-
maxPosts: z.number().optional().describe('Max posts to return (default: all)'),
|
|
178
|
-
maxContentLength: z.number().optional().describe('Truncate each post to N chars (default: 2000)'),
|
|
179
|
-
},
|
|
180
|
-
}, wrapTool('get_mne_forum_topic', (args) => getMneForumTopic(args, toolContext)));
|
|
181
|
-
server.registerTool('get_mne_changelog', {
|
|
182
|
-
title: 'Get MNE Changelog',
|
|
183
|
-
description: 'Get release notes for a specific MNE version. Use to find what changed between versions, new features, bug fixes, and deprecations.',
|
|
184
|
-
inputSchema: {
|
|
185
|
-
version: z.string().describe('Version number, e.g. "1.6.0"'),
|
|
186
|
-
section: z.enum(['all', 'new', 'changes', 'deprecations', 'bugfixes']).optional().describe('Filter to specific section (default: all)'),
|
|
187
|
-
package: packageSchema,
|
|
188
|
-
},
|
|
189
|
-
}, wrapTool('get_mne_changelog', (args) => getMneChangelog(args, toolContext)));
|
|
190
|
-
server.registerTool('get_mne_example', {
|
|
191
|
-
title: 'Get MNE Example',
|
|
192
|
-
description: 'Get tutorial and example code from the MNE gallery. Use when users want to see working code for a specific task like "ICA", "source localization", or "time-frequency analysis".',
|
|
193
|
-
inputSchema: {
|
|
194
|
-
query: z.string().describe('Topic to search, e.g. "epochs", "ICA", "evoked", "source estimation"'),
|
|
195
|
-
maxResults: z.number().optional().describe('Max examples to return (default: 3)'),
|
|
196
|
-
version: z.string().optional().describe('Version tag (default: latest)'),
|
|
197
|
-
summaryOnly: z.boolean().optional().describe('Return only titles and descriptions, no code (default: false)'),
|
|
198
|
-
maxCodeLines: z.number().optional().describe('Truncate code to N lines (default: 100)'),
|
|
199
|
-
package: packageSchema,
|
|
200
|
-
},
|
|
201
|
-
}, wrapTool('get_mne_example', (args) => getMneExample(args, toolContext)));
|
|
202
|
-
server.registerTool('get_related_symbols', {
|
|
203
|
-
title: 'Get Related Symbols',
|
|
204
|
-
description: 'Find functions and classes related to a given symbol — same module, referenced in "See Also", or similar names. Use to discover alternative approaches or related functionality.',
|
|
205
|
-
inputSchema: {
|
|
206
|
-
symbol: z.string().describe('Fully qualified name, e.g. "mne.Epochs"'),
|
|
207
|
-
version: z.string().optional().describe('Version tag (default: latest)'),
|
|
208
|
-
maxResults: z.number().optional().describe('Max results (default: 10)'),
|
|
209
|
-
},
|
|
210
|
-
}, wrapTool('get_related_symbols', (args) => getRelatedSymbols(args, toolContext)));
|
|
211
|
-
server.registerTool('lookup_mne_error', {
|
|
212
|
-
title: 'Lookup MNE Error',
|
|
213
|
-
description: 'Diagnose MNE error messages and get solutions. Searches known issues, forum posts, and provides common fixes. Use when users paste an error traceback or ask why something failed.',
|
|
214
|
-
inputSchema: {
|
|
215
|
-
errorMessage: z.string().describe('The error message or traceback, e.g. "ValueError: No events found"'),
|
|
216
|
-
context: z.string().optional().describe('Code that caused the error (helps find better solutions)'),
|
|
217
|
-
brief: z.boolean().optional().describe('Return only descriptions, no code examples (default: false)'),
|
|
218
|
-
},
|
|
219
|
-
}, wrapTool('lookup_mne_error', (args) => lookupMneError(args, toolContext)));
|
|
93
|
+
});
|
|
94
|
+
}
|
|
220
95
|
return server;
|
|
221
96
|
}
|
|
222
97
|
//# sourceMappingURL=server.js.map
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Default annotations for all MNE Docs MCP tools.
|
|
3
|
+
* All tools are read-only (fetch from GitHub/Discourse), non-destructive, idempotent, and call external APIs.
|
|
4
|
+
* Matches MCP ToolAnnotations (readOnlyHint, destructiveHint, idempotentHint, openWorldHint).
|
|
5
|
+
*/
|
|
6
|
+
export declare const READ_ONLY_TOOL_ANNOTATIONS: {
|
|
7
|
+
readonly readOnlyHint: true;
|
|
8
|
+
readonly destructiveHint: false;
|
|
9
|
+
readonly idempotentHint: true;
|
|
10
|
+
readonly openWorldHint: true;
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=annotations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../../src/tools/annotations.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,0BAA0B;;;;;CAK7B,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Default annotations for all MNE Docs MCP tools.
|
|
3
|
+
* All tools are read-only (fetch from GitHub/Discourse), non-destructive, idempotent, and call external APIs.
|
|
4
|
+
* Matches MCP ToolAnnotations (readOnlyHint, destructiveHint, idempotentHint, openWorldHint).
|
|
5
|
+
*/
|
|
6
|
+
export const READ_ONLY_TOOL_ANNOTATIONS = {
|
|
7
|
+
readOnlyHint: true,
|
|
8
|
+
destructiveHint: false,
|
|
9
|
+
idempotentHint: true,
|
|
10
|
+
openWorldHint: true,
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=annotations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"annotations.js","sourceRoot":"","sources":["../../src/tools/annotations.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACtC,YAAY,EAAE,IAAI;IAClB,eAAe,EAAE,KAAK;IACtB,cAAc,EAAE,IAAI;IACpB,aAAa,EAAE,IAAI;CACb,CAAC"}
|
|
@@ -1,3 +1,44 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
1
2
|
import { FindSymbolResult, ToolContext } from '../types.js';
|
|
3
|
+
export declare const definition: {
|
|
4
|
+
name: string;
|
|
5
|
+
title: string;
|
|
6
|
+
description: string;
|
|
7
|
+
inputSchema: {
|
|
8
|
+
query: z.ZodString;
|
|
9
|
+
version: z.ZodOptional<z.ZodString>;
|
|
10
|
+
maxResults: z.ZodOptional<z.ZodNumber>;
|
|
11
|
+
includePrivate: z.ZodOptional<z.ZodBoolean>;
|
|
12
|
+
};
|
|
13
|
+
annotations: {
|
|
14
|
+
readonly readOnlyHint: true;
|
|
15
|
+
readonly destructiveHint: false;
|
|
16
|
+
readonly idempotentHint: true;
|
|
17
|
+
readonly openWorldHint: true;
|
|
18
|
+
};
|
|
19
|
+
outputSchema: z.ZodArray<z.ZodObject<{
|
|
20
|
+
name: z.ZodString;
|
|
21
|
+
qualifiedName: z.ZodString;
|
|
22
|
+
kind: z.ZodString;
|
|
23
|
+
filePath: z.ZodString;
|
|
24
|
+
sourceUrl: z.ZodString;
|
|
25
|
+
version: z.ZodString;
|
|
26
|
+
}, "strip", z.ZodTypeAny, {
|
|
27
|
+
version: string;
|
|
28
|
+
filePath: string;
|
|
29
|
+
name: string;
|
|
30
|
+
qualifiedName: string;
|
|
31
|
+
kind: string;
|
|
32
|
+
sourceUrl: string;
|
|
33
|
+
}, {
|
|
34
|
+
version: string;
|
|
35
|
+
filePath: string;
|
|
36
|
+
name: string;
|
|
37
|
+
qualifiedName: string;
|
|
38
|
+
kind: string;
|
|
39
|
+
sourceUrl: string;
|
|
40
|
+
}>, "many">;
|
|
41
|
+
};
|
|
2
42
|
export declare function findMneSymbol(params: unknown, context: ToolContext): Promise<FindSymbolResult[]>;
|
|
43
|
+
export { findMneSymbol as handler };
|
|
3
44
|
//# sourceMappingURL=findMneSymbol.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"findMneSymbol.d.ts","sourceRoot":"","sources":["../../src/tools/findMneSymbol.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"findMneSymbol.d.ts","sourceRoot":"","sources":["../../src/tools/findMneSymbol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAW5D,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmBtB,CAAC;AAwCF,wBAAsB,aAAa,CAC/B,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,WAAW,GACrB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAkG7B;AAED,OAAO,EAAE,aAAa,IAAI,OAAO,EAAE,CAAC"}
|
|
@@ -1,11 +1,32 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { resolveVersion, filePathToModule, isTestFile, buildSourceUrl, resolvePackage } from '../utils/helpers.js';
|
|
3
|
+
import { READ_ONLY_TOOL_ANNOTATIONS } from './annotations.js';
|
|
3
4
|
const FindMneSymbolParamsSchema = z.object({
|
|
4
5
|
query: z.string().min(1, 'Query is required'),
|
|
5
6
|
version: z.string().optional(),
|
|
6
7
|
maxResults: z.number().optional(),
|
|
7
8
|
includePrivate: z.boolean().optional().default(false),
|
|
8
9
|
});
|
|
10
|
+
export const definition = {
|
|
11
|
+
name: 'find_mne_symbol',
|
|
12
|
+
title: 'Find MNE Symbol',
|
|
13
|
+
description: 'Search for classes, functions, or methods in MNE-Python by name. Use when you know part of a name but not the full path, e.g. "filter" finds mne.filter.filter_data, mne.io.Raw.filter, etc.',
|
|
14
|
+
inputSchema: {
|
|
15
|
+
query: z.string().describe('Search term, e.g. "filter", "epoch", "ica"'),
|
|
16
|
+
version: z.string().optional().describe('Version tag (default: latest)'),
|
|
17
|
+
maxResults: z.number().optional().describe('Max results to return (default: 10)'),
|
|
18
|
+
includePrivate: z.boolean().optional().describe('Include private (_name) symbols (default: false)'),
|
|
19
|
+
},
|
|
20
|
+
annotations: READ_ONLY_TOOL_ANNOTATIONS,
|
|
21
|
+
outputSchema: z.array(z.object({
|
|
22
|
+
name: z.string(),
|
|
23
|
+
qualifiedName: z.string(),
|
|
24
|
+
kind: z.string(),
|
|
25
|
+
filePath: z.string(),
|
|
26
|
+
sourceUrl: z.string(),
|
|
27
|
+
version: z.string(),
|
|
28
|
+
})),
|
|
29
|
+
};
|
|
9
30
|
/**
|
|
10
31
|
* Search for MNE-Python symbols matching a query string.
|
|
11
32
|
*
|
|
@@ -138,4 +159,5 @@ export async function findMneSymbol(params, context) {
|
|
|
138
159
|
const sorted = filtered.sort((a, b) => symbolRank(a.name, query) - symbolRank(b.name, query));
|
|
139
160
|
return sorted.slice(0, maxResults);
|
|
140
161
|
}
|
|
162
|
+
export { findMneSymbol as handler };
|
|
141
163
|
//# sourceMappingURL=findMneSymbol.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"findMneSymbol.js","sourceRoot":"","sources":["../../src/tools/findMneSymbol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"findMneSymbol.js","sourceRoot":"","sources":["../../src/tools/findMneSymbol.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,22 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
1
2
|
import { ToolContext } from '../types.js';
|
|
3
|
+
export declare const definition: {
|
|
4
|
+
name: string;
|
|
5
|
+
title: string;
|
|
6
|
+
description: string;
|
|
7
|
+
inputSchema: {
|
|
8
|
+
version: z.ZodString;
|
|
9
|
+
section: z.ZodOptional<z.ZodEnum<["all", "new", "changes", "deprecations", "bugfixes"]>>;
|
|
10
|
+
package: z.ZodOptional<z.ZodEnum<[string, ...string[]]>>;
|
|
11
|
+
};
|
|
12
|
+
annotations: {
|
|
13
|
+
readonly readOnlyHint: true;
|
|
14
|
+
readonly destructiveHint: false;
|
|
15
|
+
readonly idempotentHint: true;
|
|
16
|
+
readonly openWorldHint: true;
|
|
17
|
+
};
|
|
18
|
+
outputSchema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
19
|
+
};
|
|
2
20
|
/**
|
|
3
21
|
* A single changelog entry.
|
|
4
22
|
*/
|
|
@@ -28,4 +46,5 @@ export interface ChangelogResult {
|
|
|
28
46
|
* Useful for understanding what changed between versions and migration.
|
|
29
47
|
*/
|
|
30
48
|
export declare function getMneChangelog(params: unknown, context: ToolContext): Promise<ChangelogResult>;
|
|
49
|
+
export { getMneChangelog as handler };
|
|
31
50
|
//# sourceMappingURL=getMneChangelog.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getMneChangelog.d.ts","sourceRoot":"","sources":["../../src/tools/getMneChangelog.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getMneChangelog.d.ts","sourceRoot":"","sources":["../../src/tools/getMneChangelog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAY,MAAM,aAAa,CAAC;AAcpD,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;CAWtB,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,EAAE,cAAc,EAAE,CAAC;IAC9B,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,YAAY,EAAE,cAAc,EAAE,CAAC;IAC/B,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACjC,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,WAAW,GACrB,OAAO,CAAC,eAAe,CAAC,CA8C1B;AA2MD,OAAO,EAAE,eAAe,IAAI,OAAO,EAAE,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { McpError } from '../types.js';
|
|
3
3
|
import { getLogger } from '../utils/logger.js';
|
|
4
|
-
import { MNE_PACKAGE_NAMES, getPackageInfo } from '../config.js';
|
|
4
|
+
import { MNE_PACKAGE_NAMES, getPackageInfo, packageSchema } from '../config.js';
|
|
5
|
+
import { READ_ONLY_TOOL_ANNOTATIONS } from './annotations.js';
|
|
5
6
|
import { stripRst } from '../utils/docstring.js';
|
|
6
7
|
const logger = getLogger();
|
|
7
8
|
const GetMneChangelogParamsSchema = z.object({
|
|
@@ -9,6 +10,18 @@ const GetMneChangelogParamsSchema = z.object({
|
|
|
9
10
|
section: z.enum(['all', 'new', 'changes', 'deprecations', 'bugfixes']).optional().default('all'),
|
|
10
11
|
package: z.enum(MNE_PACKAGE_NAMES).optional(),
|
|
11
12
|
});
|
|
13
|
+
export const definition = {
|
|
14
|
+
name: 'get_mne_changelog',
|
|
15
|
+
title: 'Get MNE Changelog',
|
|
16
|
+
description: 'Get release notes for a specific MNE version. Use to find what changed between versions, new features, bug fixes, and deprecations.',
|
|
17
|
+
inputSchema: {
|
|
18
|
+
version: z.string().describe('Version number, e.g. "1.6.0"'),
|
|
19
|
+
section: z.enum(['all', 'new', 'changes', 'deprecations', 'bugfixes']).optional().describe('Filter to specific section (default: all)'),
|
|
20
|
+
package: packageSchema,
|
|
21
|
+
},
|
|
22
|
+
annotations: READ_ONLY_TOOL_ANNOTATIONS,
|
|
23
|
+
outputSchema: z.record(z.string(), z.unknown()),
|
|
24
|
+
};
|
|
12
25
|
/**
|
|
13
26
|
* Fetches and parses the changelog/what's new for a specific MNE version.
|
|
14
27
|
* Useful for understanding what changed between versions and migration.
|
|
@@ -231,4 +244,5 @@ function filterBySection(result, section) {
|
|
|
231
244
|
}
|
|
232
245
|
return filtered;
|
|
233
246
|
}
|
|
247
|
+
export { getMneChangelog as handler };
|
|
234
248
|
//# sourceMappingURL=getMneChangelog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getMneChangelog.js","sourceRoot":"","sources":["../../src/tools/getMneChangelog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAe,QAAQ,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"getMneChangelog.js","sourceRoot":"","sources":["../../src/tools/getMneChangelog.ts"],"names":[],"mappings":"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"}
|