{"_id":"@btm-ai/notion-query-mcp","name":"@btm-ai/notion-query-mcp","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@btm-ai/notion-query-mcp","version":"0.1.0","description":"MCP server that gives AI agents filtered, paginated query access to Notion databases.","type":"module","main":"dist/http.js","bin":{"notion-query-mcp":"dist/stdio.js"},"keywords":["mcp","model-context-protocol","notion","database","query","notion-api"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/bt-ilab/btm-ops-notion-query-mcp.git"},"publishConfig":{"access":"public"},"engines":{"node":">=24.0.0"},"scripts":{"build":"tsc --project tsconfig.build.json","start":"node dist/http.js","dev:http":"node dist/http.js","dev:stdio":"node dist/stdio.js","test":"vitest run","typecheck":"tsc --noEmit","lint":"eslint src test --ext .ts","prepare":"node scripts/install-git-hooks.js","prepublishOnly":"npm run build"},"dependencies":{"@modelcontextprotocol/sdk":"1.29.0","@notionhq/client":"5.22.0","express":"~5.2.1"},"devDependencies":{"@types/express":"^5.0.6","@types/node":"^24.0.0","@types/supertest":"^6.0.0","@typescript-eslint/eslint-plugin":"^8.0.0","@typescript-eslint/parser":"^8.0.0","eslint":"^8.57.0","supertest":"7.2.2","typescript":"6.0.3","vitest":"4.1.7"},"_id":"@btm-ai/notion-query-mcp@0.1.0","gitHead":"e3c03bdb8bffdc09599151daf4d0d0239cc07412","bugs":{"url":"https://github.com/bt-ilab/btm-ops-notion-query-mcp/issues"},"homepage":"https://github.com/bt-ilab/btm-ops-notion-query-mcp#readme","_nodeVersion":"24.1.0","_npmVersion":"11.3.0","dist":{"integrity":"sha512-J1mxVSG7FOzFam6RZ3nE+Vb5NcSf8DC8y65bAMgQHGN7JTB7SNccYs/u6Wm9rYXc+EwTIaqCYigvXAZWtTFCZw==","shasum":"114da1c96befe36b8d171a6669e45321f77cf8fd","tarball":"https://registry.npmjs.org/@btm-ai/notion-query-mcp/-/notion-query-mcp-0.1.0.tgz","fileCount":12,"unpackedSize":20047,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCPsuAdXY6L8d7HAE5FoTBiD9VKbJ+MK/P4DuUfenvMjQIhAKzM0dYK5Id7VvGnQIclZdFOAdwrv4cDIn1MOOw8pXE1"}]},"_npmUser":{"name":"btm.ai","email":"ilab@btmorph.com"},"directories":{},"maintainers":[{"name":"btm.ai","email":"ilab@btmorph.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/notion-query-mcp_0.1.0_1780182814331_0.202069366732208"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-30T23:13:34.177Z","0.1.0":"2026-05-30T23:13:34.480Z","modified":"2026-05-30T23:13:34.725Z"},"maintainers":[{"name":"btm.ai","email":"ilab@btmorph.com"}],"description":"MCP server that gives AI agents filtered, paginated query access to Notion databases.","homepage":"https://github.com/bt-ilab/btm-ops-notion-query-mcp#readme","keywords":["mcp","model-context-protocol","notion","database","query","notion-api"],"repository":{"type":"git","url":"git+https://github.com/bt-ilab/btm-ops-notion-query-mcp.git"},"bugs":{"url":"https://github.com/bt-ilab/btm-ops-notion-query-mcp/issues"},"license":"MIT","readme":"# @btm-ai/notion-query-mcp\n\nAn MCP server that gives AI agents filtered, paginated query access to Notion databases — the database **query** and **schema** capability the hosted Notion MCP (`mcp.notion.com`) does not provide. It runs alongside the hosted MCP, not as a replacement.\n\n## Tools\n\n| Tool | Purpose |\n|---|---|\n| `notion_query_database` | Query a database with optional Notion `filter`/`sorts`; auto-paginates and returns each page flattened to `id`, `url`, and its properties (up to `page_size`, max 200). |\n| `notion_query_database_schema` | Return a database's `title` and every property's `name`/`type`, including `select`/`multi_select` option names. |\n| `notion_get_page` | Fetch a single page by ID and return its `id`, `url`, and full property values. |\n\n## Requirements\n\n- Node.js **24 LTS** or newer.\n- A Notion internal integration token.\n\n### Environment variables\n\n| Name | Required | Description |\n|---|---|---|\n| `NOTION_TOKEN` | **Yes** | Notion internal integration token used for all outbound Notion API calls. Never commit this; set it as an environment variable / platform secret. |\n| `PORT` | No | HTTP listen port for the Streamable HTTP transport (defaults to `3000` locally; injected by the platform in production). |\n\n## Connecting from Claude.ai\n\nThe production server exposes the MCP Streamable HTTP transport. Add it as a custom MCP connector using the deployed HTTPS endpoint:\n\n```\nhttps://<your-railway-service>.up.railway.app/mcp\n```\n\nA health check is available at `GET /healthz`.\n\n## Running locally (stdio)\n\nFor local clients such as Claude Desktop or Claude Code, run the stdio entrypoint via `npx`:\n\n```bash\nNOTION_TOKEN=secret_xxx npx @btm-ai/notion-query-mcp@latest\n```\n\n> Use the `@latest` tag to avoid running a stale npx-cached version.\n\nOr from a checkout of this repo:\n\n```bash\nnpm install\ncp .env.example .env   # then set NOTION_TOKEN\nnpm run dev:stdio      # stdio transport\nnpm run dev:http       # Streamable HTTP on http://localhost:3000\n```\n\n## Distribution\n\nPublished to npm for `npx` support (see `package.json` `bin`). Install with `npx @btm-ai/notion-query-mcp@latest`.\n\n`TODO: MCPB packaging — post-MVP` — bundling as an `.mcpb` package (`@anthropic-ai/mcpb` + `manifest.json` with tool descriptions, auth fields, and icon assets) for the Anthropic curated MCP directory is deferred until those assets exist.\n","readmeFilename":"README.md","_rev":"1-43550d2ae9888036ffbb87c0779ef565"}