mne-docs-mcp 1.0.28 → 1.0.30

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 CHANGED
@@ -1,32 +1,55 @@
1
1
  # MNE Docs MCP Server
2
2
 
3
- MCP server providing access to MNE-Python documentation, source code, GitHub issues, and community forum across the MNE ecosystem.
3
+ MCP server for MNE ecosystem docs, source code, issues, and forum content.
4
4
 
5
- ## Quick Start
5
+ ## What You Get
6
+
7
+ - 15 read-only MCP tools for docs/code/issues/forum/error lookup
8
+ - HTTP transport (`/mcp`) and stdio transport
9
+ - Python AST-based symbol parsing (no extra Python packages required)
10
+ - Built-in caching and GitHub rate-limit aware behavior
11
+ - Multi-package support across the MNE ecosystem for most code/docs tools
12
+
13
+ ## Requirements
14
+
15
+ - Node.js `>=20`
16
+ - Python 3 (`python` on Windows, `python3` on Linux/macOS)
17
+ - GitHub token (`MNE_GITHUB_TOKEN`) with access to public repositories
18
+
19
+ ## Quick Start (Local HTTP)
6
20
 
7
21
  ```bash
8
- # Clone and install
9
22
  git clone https://github.com/weiyongxu/mne-docs-mcp.git
10
23
  cd mne-docs-mcp
11
24
  npm install
25
+ npm run build
26
+ ```
12
27
 
13
- # Set GitHub token (required)
14
- export MNE_GITHUB_TOKEN=ghp_your_token_here # Linux/macOS
15
- $env:MNE_GITHUB_TOKEN="ghp_your_token_here" # Windows PowerShell
28
+ Set token:
16
29
 
17
- # Start server
18
- npm start
30
+ ```bash
31
+ # Linux/macOS
32
+ export MNE_GITHUB_TOKEN=ghp_your_token_here
33
+
34
+ # Windows PowerShell
35
+ $env:MNE_GITHUB_TOKEN="ghp_your_token_here"
19
36
  ```
20
37
 
21
- Server runs on `http://127.0.0.1:8000` by default. Verify with `curl http://localhost:8000/health`.
38
+ Start server:
39
+
40
+ ```bash
41
+ npm start
42
+ ```
22
43
 
23
- > **Prerequisites:** Node.js ≥ 20 and Python 3 (used for AST parsing — no pip packages required).
44
+ Default endpoint: `http://127.0.0.1:8000/mcp`
45
+ Health check: `http://127.0.0.1:8000/health`
46
+ Metrics: `http://127.0.0.1:8000/metrics`
24
47
 
25
48
  ## MCP Client Integration
26
49
 
27
- ### Claude Desktop / Kiro / Claude Code
50
+ ### Stdio Mode (Claude Desktop / Kiro / Claude Code)
28
51
 
29
- Add to your MCP config (`claude_desktop_config.json`, `.kiro/settings/mcp.json`, or `~/.claude/settings.json`):
52
+ Use `dist/index.js` and set `MNE_TRANSPORT=stdio`:
30
53
 
31
54
  ```json
32
55
  {
@@ -43,18 +66,8 @@ Add to your MCP config (`claude_desktop_config.json`, `.kiro/settings/mcp.json`,
43
66
  }
44
67
  ```
45
68
 
46
- > **Note:** On Windows, `MNE_PYTHON_PATH` defaults to `python` automatically.
47
-
48
- ### Remote HTTP Server
49
-
50
- If you're running the server on a VPS or remote host:
51
-
52
- **Claude Code CLI:**
53
- ```bash
54
- claude mcp add --transport http mne-docs https://your-server.com/mcp
55
- ```
69
+ ### Remote HTTP Mode
56
70
 
57
- **Config file** (`.mcp.json` or `~/.claude.json`):
58
71
  ```json
59
72
  {
60
73
  "mcpServers": {
@@ -66,199 +79,147 @@ claude mcp add --transport http mne-docs https://your-server.com/mcp
66
79
  }
67
80
  ```
68
81
 
69
- ### Local HTTP Mode
82
+ ## Docker
70
83
 
71
84
  ```bash
72
- MNE_TRANSPORT=http npm start
73
- # Connect to http://localhost:8000/mcp
85
+ docker run -p 8000:8000 \
86
+ -e MNE_GITHUB_TOKEN=ghp_your_token_here \
87
+ ghcr.io/weiyongxu/mne-docs-mcp:latest
74
88
  ```
75
89
 
76
- **HTTP endpoints:**
77
-
78
- | Endpoint | Description |
79
- |----------|-------------|
80
- | `POST /mcp` | MCP protocol (JSON-RPC) |
81
- | `GET /health` | Health check — returns `{"status":"healthy"}` |
82
- | `GET /metrics` | Runtime metrics (request counts, cache hit rate, GitHub rate limit) |
83
-
84
- ### Docker
90
+ Or use the included `docker-compose.yml`:
85
91
 
86
92
  ```bash
87
- docker run -p 8000:8000 -e MNE_GITHUB_TOKEN=ghp_your_token ghcr.io/weiyongxu/mne-docs-mcp:latest
88
- ```
89
-
90
- Multi-arch images available for both `linux/amd64` and `linux/arm64`.
91
-
92
- ### Docker Compose
93
+ # Linux/macOS
94
+ export MNE_GITHUB_TOKEN=ghp_your_token_here
93
95
 
94
- Create a `docker-compose.yml`:
96
+ # Windows PowerShell
97
+ $env:MNE_GITHUB_TOKEN="ghp_your_token_here"
95
98
 
96
- ```yaml
97
- services:
98
- mne-docs-mcp:
99
- image: ghcr.io/weiyongxu/mne-docs-mcp:latest
100
- container_name: mne-docs-mcp
101
- ports:
102
- - "8000:8000"
103
- environment:
104
- - MNE_GITHUB_TOKEN=${MNE_GITHUB_TOKEN:?MNE_GITHUB_TOKEN is required}
105
- restart: unless-stopped
99
+ docker compose pull
100
+ docker compose up -d
106
101
  ```
107
102
 
108
- Then run:
103
+ The compose file only requires `MNE_GITHUB_TOKEN`. Other settings use image defaults.
104
+
105
+ ## Tool List
106
+
107
+ - `list_mne_versions`
108
+ - `get_mne_file`
109
+ - `get_mne_doc`
110
+ - `find_mne_symbol`
111
+ - `search_mne_docs`
112
+ - `search_mne_issues`
113
+ - `get_mne_issue`
114
+ - `get_mne_issue_comments`
115
+ - `search_mne_forum`
116
+ - `get_mne_forum_topic`
117
+ - `get_symbol_references`
118
+ - `get_related_symbols`
119
+ - `get_mne_changelog`
120
+ - `get_mne_example`
121
+ - `lookup_mne_error`
122
+
123
+ ## Package Support
124
+
125
+ Supported packages:
126
+
127
+ - `mne-python` (default)
128
+ - `mne-bids-pipeline`
129
+ - `mne-bids`
130
+ - `mne-connectivity`
131
+ - `mne-nirs`
132
+ - `mne-rsa`
133
+ - `mne-icalabel`
134
+ - `mne-realtime`
135
+ - `mne-lsl`
136
+ - `mne-gui-addons`
137
+
138
+ `package` parameter is supported by code/docs/issues/changelog/example/symbol tools.
139
+ Forum tools (`search_mne_forum`, `get_mne_forum_topic`) and `lookup_mne_error` do not take a `package` parameter.
109
140
 
110
- ```bash
111
- export MNE_GITHUB_TOKEN=ghp_your_token_here
112
- docker-compose up -d
113
- docker-compose logs -f
114
- ```
141
+ ## Configuration
115
142
 
116
- ## Tools
117
-
118
- | Tool | Description |
119
- |------|-------------|
120
- | `list_mne_versions` | List available MNE releases |
121
- | `get_mne_file` | Fetch source code |
122
- | `get_mne_doc` | Get symbol documentation |
123
- | `find_mne_symbol` | Search for symbols |
124
- | `search_mne_docs` | Unified code/docs search |
125
- | `search_mne_issues` | Search GitHub issues |
126
- | `get_mne_issue` | Get issue details |
127
- | `get_mne_issue_comments` | Get issue comments |
128
- | `search_mne_forum` | Search community forum |
129
- | `get_mne_forum_topic` | Get full forum discussion |
130
- | `get_symbol_references` | Get callees/callers |
131
- | `get_related_symbols` | Find related functions |
132
- | `get_mne_changelog` | Get version changes |
133
- | `get_mne_example` | Get tutorial code |
134
- | `lookup_mne_error` | Diagnose MNE errors |
135
-
136
- All tools support a `package` parameter to query across the MNE ecosystem: `mne-python` (default), `mne-bids-pipeline`, `mne-bids`, `mne-connectivity`, `mne-nirs`, `mne-rsa`, `mne-icalabel`, `mne-realtime`, `mne-lsl`, `mne-gui-addons`.
143
+ Key environment variables:
137
144
 
138
- ## Configuration
145
+ | Variable | Default | Notes |
146
+ |---|---|---|
147
+ | `MNE_GITHUB_TOKEN` | — | Required |
148
+ | `MNE_TRANSPORT` | `http` | `http` or `stdio` |
149
+ | `MNE_HOST` | `127.0.0.1` | Use `0.0.0.0` in containers |
150
+ | `MNE_PORT` | `8000` | HTTP mode port |
151
+ | `MNE_ALLOWED_ORIGINS` | `*` | CORS/Origin allowlist |
152
+ | `MNE_DEFAULT_PACKAGE` | `mne-python` | Default package |
153
+ | `MNE_PYTHON_PATH` | `python` (Win) / `python3` (Unix) | Parser executable |
154
+ | `MNE_LOG_LEVEL` | `info` | `debug`, `info`, `warn`, `error` |
155
+ | `MNE_LOG_JSON` | `false` | Structured logs |
139
156
 
140
- | Variable | Description | Default |
141
- |----------|-------------|---------|
142
- | `MNE_GITHUB_TOKEN` | GitHub PAT (**required**) | — |
143
- | `MNE_PORT` | Server port (HTTP mode) | `8000` |
144
- | `MNE_HOST` | Bind address (use `0.0.0.0` in Docker) | `127.0.0.1` |
145
- | `MNE_TRANSPORT` | `http` or `stdio` | `http` |
146
- | `MNE_ALLOWED_ORIGINS` | Comma-separated origins for CORS (use `*` to allow all) | `*` |
147
- | `MNE_DEFAULT_PACKAGE` | Default MNE package | `mne-python` |
148
- | `MNE_PYTHON_PATH` | Python executable path | `python` (Win) / `python3` (Unix) |
149
- | `MNE_LOG_LEVEL` | `debug` / `info` / `warn` / `error` | `info` |
150
- | `MNE_LOG_JSON` | Emit logs as JSON (useful for log aggregators) | `false` |
157
+ See [.env.example](.env.example) for a minimal local template.
151
158
 
152
- See `.env.example` for advanced options: cache TTLs (`MNE_CACHE_TTL_MINUTES`, `MNE_SYMBOL_CACHE_TTL_MINUTES`, `MNE_FILE_CACHE_TTL_MINUTES`), timeouts (`MNE_GITHUB_TIMEOUT`, `MNE_PARSER_TIMEOUT`, `MNE_FORUM_TIMEOUT`), and API base URLs.
159
+ ## Testing and Diagnostics
153
160
 
154
- ## Architecture
161
+ Full tool test run:
155
162
 
163
+ ```bash
164
+ node scripts/run-tests.mjs
156
165
  ```
157
- ┌─────────────────────────────────────────────────────────┐
158
- │ TypeScript Server (Node.js) │
159
- │ ├─ MCP Tools (McpServer API, SDK v1.18+) │
160
- │ │ · Tool annotations (readOnly, idempotent, etc.) │
161
- │ │ · Structured output + resource_link content │
162
- │ ├─ GitHub Client (rate limiting, caching) │
163
- │ └─ Python Parser Bridge ──┐ │
164
- └────────────────────────────┼────────────────────────────┘
165
-
166
- ┌─────────────────┐
167
- │ Python Parser │
168
- │ (AST, stdlib) │
169
- └─────────────────┘
170
- ```
171
-
172
- Built with the official [MCP TypeScript SDK](https://github.com/modelcontextprotocol/typescript-sdk). This server conforms to the [Model Context Protocol specification 2025-06-18](https://modelcontextprotocol.io/specification/2025-06-18) (tool annotations, structured output, resource links, Origin validation, Streamable HTTP).
173
166
 
174
- ## Development
167
+ Against another endpoint:
175
168
 
176
169
  ```bash
177
- npm run dev # Watch mode
178
- npm run build # Compile TypeScript
179
- npm test # Run tests
180
- npm run lint # ESLint
170
+ MNE_MCP_BASE=https://your-server.com/mcp node scripts/run-tests.mjs
181
171
  ```
182
172
 
183
- ## Releasing
184
-
185
- ### One-command release
173
+ Add timeout guard:
186
174
 
187
175
  ```bash
188
- npm run release:patch # 1.0.0 → 1.0.1 (bug fixes)
189
- npm run release:minor # 1.0.0 → 1.1.0 (new features)
190
- npm run release:major # 1.0.0 → 2.0.0 (breaking changes)
176
+ MNE_TOOL_TIMEOUT_MS=20000 node scripts/run-tests.mjs
191
177
  ```
192
178
 
193
- This script (`scripts/release.js`) does everything locally:
194
- 1. Bumps version in `package.json` and `server.json`
195
- 2. Commits both files
196
- 3. Creates a `v*` git tag
197
- 4. Pushes the commit and tag
198
-
199
- Pushing the tag triggers the release pipeline automatically — no further action needed.
179
+ Stable benchmark mode (for slow/stuck investigation):
200
180
 
201
- ### CI/CD pipeline
181
+ ```bash
182
+ node scripts/run-tests.mjs --benchmark-stable --warm-pass --stable-runs 3
183
+ ```
202
184
 
203
- Two GitHub Actions workflows handle all automation:
185
+ ## Development
204
186
 
205
- **`ci.yml`** — runs on every push and pull request:
206
- - TypeScript type checking + ESLint
207
- - Full test suite (Vitest)
208
- - Build verification
209
- - Docker image build test (no push)
187
+ ```bash
188
+ npm run dev
189
+ npm run typecheck
190
+ npm run lint
191
+ npm test
192
+ npm run build
193
+ ```
210
194
 
211
- **`release.yml`** — runs only when a `v*` tag is pushed:
195
+ ## Release
212
196
 
213
- ```
214
- test ──┬── docker (linux/amd64) ──┐
215
- │ ├── docker manifest (semver tags) ──┐
216
- │── docker (linux/arm64) ──┘ ├── GitHub Release
217
- │ │
218
- ├── npm publish ── MCP Registry ──────────────────────────────┘
197
+ ```bash
198
+ npm run release:patch # or :minor / :major
219
199
  ```
220
200
 
221
- Published artefacts per release:
201
+ The release script:
222
202
 
223
- | Platform | Tag / identifier |
224
- |----------|-----------------|
225
- | GHCR Docker | `ghcr.io/weiyongxu/mne-docs-mcp:1.x.y`, `:1.x`, `:latest` |
226
- | npm | `mne-docs-mcp@1.x.y` |
227
- | MCP Registry | `io.github.weiyongxu/mne-docs@1.x.y` |
228
- | GitHub Releases | auto-generated changelog |
203
+ 1. Bumps version (`package.json`)
204
+ 2. Updates `server.json`
205
+ 3. Stages `package.json`, `package-lock.json`, `server.json`
206
+ 4. Commits (`Release vX.Y.Z`)
207
+ 5. Tags (`vX.Y.Z`)
208
+ 6. Pushes commit and tag
229
209
 
230
- ### Required repository secrets
210
+ Tag push triggers `release.yml`, which publishes:
231
211
 
232
- | Secret | Purpose |
233
- |--------|---------|
234
- | `NPM_TOKEN` | Publish to npm registry |
235
- | `GITHUB_TOKEN` | Push Docker to GHCR + create GitHub Release (auto-provided) |
236
-
237
- OIDC is used for MCP Registry authentication (no extra secret needed).
212
+ - GHCR Docker image
213
+ - npm package
214
+ - MCP Registry entry
215
+ - GitHub Release
238
216
 
239
217
  ## Troubleshooting
240
218
 
241
- - **Rate limits:** Ensure `MNE_GITHUB_TOKEN` is set
242
- - **Parser fails:** Check Python 3 is installed (path auto-detected per platform)
243
- - **Test setup:** Run `node scripts/run-tests.mjs` to verify (requires the server running on your MCP endpoint)
244
- - By default the test runner targets `http://localhost:8000/mcp`
245
- - Override with `MNE_MCP_BASE`, e.g.:
246
-
247
- ```bash
248
- # Local server on a non-default port
249
- MNE_MCP_BASE=http://localhost:8004/mcp node scripts/run-tests.mjs
250
-
251
- # Remote HTTP server
252
- MNE_MCP_BASE=https://your-server.com/mcp node scripts/run-tests.mjs
253
- ```
254
-
255
- ## Security
256
-
257
- - GitHub token needs only `public_repo` scope — never commit tokens to version control
258
- - Python parser uses `ast.parse()` only (no code execution)
259
- - HTTP mode validates the `Origin` header when `MNE_ALLOWED_ORIGINS` is set (comma-separated list); use `*` to allow all (default)
260
- - By default the server binds to `127.0.0.1`; set `MNE_HOST=0.0.0.0` only when needed (e.g. in Docker)
261
- - For production: restrict outbound to `api.github.com` and `mne.discourse.group`, don't expose to public internet
219
+ - `401` / `Bad credentials`: verify `MNE_GITHUB_TOKEN`
220
+ - slow code-search tools: use benchmark mode and check `/metrics`
221
+ - parser failures: verify Python path (`MNE_PYTHON_PATH`)
222
+ - endpoint check: `/health` should return `status=healthy`
262
223
 
263
224
  ## License
264
225
 
@@ -1 +1 @@
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;AAa5D,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;CAYtB,CAAC;AAwCF,wBAAsB,aAAa,CAC/B,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,WAAW,GACrB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAmI7B;AAED,OAAO,EAAE,aAAa,IAAI,OAAO,EAAE,CAAC"}
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;AAa5D,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;CAYtB,CAAC;AAwCF,wBAAsB,aAAa,CAC/B,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,WAAW,GACrB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAwJ7B;AAED,OAAO,EAAE,aAAa,IAAI,OAAO,EAAE,CAAC"}
@@ -122,34 +122,37 @@ export async function findMneSymbol(params, context) {
122
122
  finalSeen.add(i.path);
123
123
  return !isTestFile(i.path);
124
124
  });
125
+ const parseCandidateFiles = async (items) => {
126
+ const parsedPerFile = await Promise.all(items.map(async (item) => {
127
+ try {
128
+ const content = await context.github.fetchFile(item.path, resolvedVersion, packageName);
129
+ if (!content)
130
+ return [];
131
+ const symbols = await context.parser.findSymbols(content, query, {
132
+ moduleName: filePathToModule(item.path),
133
+ maxResults: 6,
134
+ });
135
+ return symbols.map(s => ({
136
+ name: s.name,
137
+ qualifiedName: s.qualifiedName,
138
+ kind: s.kind,
139
+ filePath: item.path,
140
+ version: resolvedVersion,
141
+ sourceUrl: buildSourceUrl(packageInfo.repo, resolvedVersion, item.path, s.lineno),
142
+ }));
143
+ }
144
+ catch {
145
+ // Continue processing other files if one fails
146
+ return [];
147
+ }
148
+ }));
149
+ return parsedPerFile.flat();
150
+ };
125
151
  // Phase 2: Parse top files for accurate symbol extraction.
126
152
  // Keep this intentionally small for latency; broad search already gives us
127
153
  // ranked candidates.
128
154
  const filesToParse = finalUniqueFiles.slice(0, 3);
129
- const parsedPerFile = await Promise.all(filesToParse.map(async (item) => {
130
- try {
131
- const content = await context.github.fetchFile(item.path, resolvedVersion, packageName);
132
- if (!content)
133
- return [];
134
- const symbols = await context.parser.findSymbols(content, query, {
135
- moduleName: filePathToModule(item.path),
136
- maxResults: 6,
137
- });
138
- return symbols.map(s => ({
139
- name: s.name,
140
- qualifiedName: s.qualifiedName,
141
- kind: s.kind,
142
- filePath: item.path,
143
- version: resolvedVersion,
144
- sourceUrl: buildSourceUrl(packageInfo.repo, resolvedVersion, item.path, s.lineno),
145
- }));
146
- }
147
- catch {
148
- // Continue processing other files if one fails
149
- return [];
150
- }
151
- }));
152
- const results = parsedPerFile.flat();
155
+ let results = await parseCandidateFiles(filesToParse);
153
156
  // Filter: exclude private symbols unless the query starts with '_' or includePrivate is set.
154
157
  // "private" means:
155
158
  // - name starts with '_', OR
@@ -160,7 +163,7 @@ export async function findMneSymbol(params, context) {
160
163
  // for query "read_raw").
161
164
  const queryIsPrivate = query.startsWith('_');
162
165
  const queryLower = query.toLowerCase();
163
- const filtered = results.filter(r => {
166
+ let filtered = results.filter(r => {
164
167
  // Must contain the query in the name (case-insensitive)
165
168
  if (!r.name.toLowerCase().includes(queryLower))
166
169
  return false;
@@ -179,6 +182,25 @@ export async function findMneSymbol(params, context) {
179
182
  return false;
180
183
  return true;
181
184
  });
185
+ // Fallback: if top files had no symbol-level hits, parse a few more
186
+ // candidates to avoid false negatives for sparse names (e.g. "read_raw").
187
+ if (filtered.length === 0 && finalUniqueFiles.length > filesToParse.length) {
188
+ const extraFilesToParse = finalUniqueFiles.slice(filesToParse.length, filesToParse.length + 5);
189
+ const extraResults = await parseCandidateFiles(extraFilesToParse);
190
+ results = [...results, ...extraResults];
191
+ filtered = results.filter(r => {
192
+ if (!r.name.toLowerCase().includes(queryLower))
193
+ return false;
194
+ if (includePrivate || queryIsPrivate)
195
+ return true;
196
+ if (r.name.startsWith('_'))
197
+ return false;
198
+ const parts = r.qualifiedName.split('.');
199
+ if (parts.length >= 2 && parts[parts.length - 2].startsWith('_'))
200
+ return false;
201
+ return true;
202
+ });
203
+ }
182
204
  // Sort: exact public matches first, then other public, then private
183
205
  const sorted = filtered.sort((a, b) => symbolRank(a.name, query) - symbolRank(b.name, query));
184
206
  return sorted.slice(0, maxResults);
@@ -1 +1 @@
1
- {"version":3,"file":"findMneSymbol.js","sourceRoot":"","sources":["../../src/tools/findMneSymbol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"findMneSymbol.js","sourceRoot":"","sources":["../../src/tools/findMneSymbol.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mne-docs-mcp",
3
- "version": "1.0.28",
3
+ "version": "1.0.30",
4
4
  "mcpName": "io.github.weiyongxu/mne-docs",
5
5
  "description": "MCP server providing access to MNE-Python documentation, source code, GitHub issues, and community forum",
6
6
  "type": "module",