{"_id":"@cognito-distillery/moonshine-mcp","name":"@cognito-distillery/moonshine-mcp","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@cognito-distillery/moonshine-mcp","version":"0.1.0","description":"MCP server for Moonshine knowledge graph","type":"module","main":"dist/index.js","bin":{"moonshine-mcp":"dist/index.js"},"scripts":{"build":"tsc","prepublishOnly":"npm run build","start":"node dist/index.js","dev":"tsc --watch"},"keywords":["mcp","moonshine","knowledge-graph","model-context-protocol"],"repository":{"type":"git","url":"git+https://github.com/Cognito-Distillery/Moonshine-MCP.git"},"license":"MIT","publishConfig":{"access":"public"},"dependencies":{"@modelcontextprotocol/sdk":"^1.26.0","better-sqlite3":"^11.0.0","uuid":"^11.0.0","zod":"^3.25.0"},"devDependencies":{"@types/better-sqlite3":"^7.6.0","@types/node":"^22.0.0","@types/uuid":"^10.0.0","typescript":"~5.6.0"},"gitHead":"e59b485c12b94e5dda962191315bb6f8cd19b84c","types":"./dist/index.d.ts","_id":"@cognito-distillery/moonshine-mcp@0.1.0","bugs":{"url":"https://github.com/Cognito-Distillery/Moonshine-MCP/issues"},"homepage":"https://github.com/Cognito-Distillery/Moonshine-MCP#readme","_nodeVersion":"24.13.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-4OCv1R9JMvskZusMKS7UbjrJMs1wBmZaErlKqr6ynx6m4jdaHLlwIcaozplJZ93KXqFcoBHYQivcYhPuvlXi6w==","shasum":"45bd6548cb9ad778d3f43ab16b672bfc5d8097dd","tarball":"https://registry.npmjs.org/@cognito-distillery/moonshine-mcp/-/moonshine-mcp-0.1.0.tgz","fileCount":42,"unpackedSize":66338,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGUacIv20620dJEf4x1AY3uX9+tCG9cQuR6/ncFWlIvgAiEAqSjqhQds2R7kg53ooK/Puu7DmY7ebffjCBW6td4Zo40="}]},"_npmUser":{"name":"vincentjang","email":"vincentjangdev@gmail.com"},"directories":{},"maintainers":[{"name":"vincentjang","email":"vincentjangdev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/moonshine-mcp_0.1.0_1771144512196_0.7651851352585812"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-15T08:35:12.086Z","0.1.0":"2026-02-15T08:35:12.375Z","modified":"2026-02-15T08:35:12.628Z"},"maintainers":[{"name":"vincentjang","email":"vincentjangdev@gmail.com"}],"description":"MCP server for Moonshine knowledge graph","homepage":"https://github.com/Cognito-Distillery/Moonshine-MCP#readme","keywords":["mcp","moonshine","knowledge-graph","model-context-protocol"],"repository":{"type":"git","url":"git+https://github.com/Cognito-Distillery/Moonshine-MCP.git"},"bugs":{"url":"https://github.com/Cognito-Distillery/Moonshine-MCP/issues"},"license":"MIT","readme":"<p align=\"center\">\n  <img src=\"docs/logo.png\" width=\"96\" alt=\"Moonshine\" />\n</p>\n\n<h1 align=\"center\">Moonshine MCP Server</h1>\n\n<p align=\"center\">\n  <em>Let AI assistants tap into your knowledge graph.</em>\n</p>\n\n<p align=\"center\">\n  <strong><a href=\"docs/README_ko.md\">한국어</a></strong>\n</p>\n\n---\n\nAn [MCP (Model Context Protocol)](https://modelcontextprotocol.io/) server that connects AI assistants — Claude, ChatGPT, Gemini, and others — directly to your [Moonshine](https://github.com/Cognito-Distillery/moonshine) knowledge graph.\n\nIt reads the SQLite database file directly, so **Moonshine does not need to be running**.\n\n---\n\n## Prerequisites\n\n- **[Node.js](https://nodejs.org/) v20+**\n- **[Moonshine](https://github.com/Cognito-Distillery/moonshine)** installed with at least one mash created\n- *(Optional)* An API key from **OpenAI** or **Google Gemini** — only needed for `search_semantic`\n\n---\n\n## Setup\n\n### Claude Desktop\n\nAdd to your Claude Desktop config:\n\n| Platform | Config Path |\n|----------|-------------|\n| **Linux** | `~/.config/Claude/claude_desktop_config.json` |\n| **macOS** | `~/Library/Application Support/Claude/claude_desktop_config.json` |\n| **Windows** | `%APPDATA%\\Claude\\claude_desktop_config.json` |\n\n```json\n{\n  \"mcpServers\": {\n    \"moonshine\": {\n      \"command\": \"npx\",\n      \"args\": [\"@cognito-distillery/moonshine-mcp\"]\n    }\n  }\n}\n```\n\n### Claude Code\n\n```bash\nclaude mcp add moonshine -- npx @cognito-distillery/moonshine-mcp\n```\n\n### Other MCP Clients\n\nAny MCP-compatible client can connect via **stdio transport**:\n\n```bash\nnpx @cognito-distillery/moonshine-mcp\n```\n\n---\n\n## Database Path\n\nThe server automatically finds your Moonshine database:\n\n| Platform | Default Path |\n|----------|------|\n| **Linux** | `~/.local/share/com.moonshine.app/moonshine.db` |\n| **macOS** | `~/Library/Application Support/com.moonshine.app/moonshine.db` |\n| **Windows** | `C:\\Users\\{user}\\AppData\\Roaming\\com.moonshine.app\\moonshine.db` |\n\nOverride with the `MOONSHINE_DB_PATH` environment variable if needed:\n\n```json\n{\n  \"mcpServers\": {\n    \"moonshine\": {\n      \"command\": \"npx\",\n      \"args\": [\"@cognito-distillery/moonshine-mcp\"],\n      \"env\": {\n        \"MOONSHINE_DB_PATH\": \"/custom/path/to/moonshine.db\"\n      }\n    }\n  }\n}\n```\n\n---\n\n## Tools\n\n### Mash CRUD\n\n| Tool | Description |\n|------|-------------|\n| `list_mashes` | List mashes with optional filtering by status and type |\n| `get_mash` | Get a single mash by ID |\n| `create_mash` | Create a new mash (starts as MASH_TUN) |\n| `update_mash` | Partially update a mash's type, summary, context, or memo |\n| `delete_mash` | Delete a mash and its associated edges |\n\n### Search\n\n| Tool | Description |\n|------|-------------|\n| `search_keyword` | Full-text keyword search using FTS5 trigram tokenizer (Korean-friendly) |\n| `search_semantic` | Semantic similarity search using embeddings (requires API key in Moonshine settings) |\n\n### Knowledge Graph\n\n| Tool | Description |\n|------|-------------|\n| `get_graph` | Get the full graph of JARRED mashes with optional filtering by type, relation, or source |\n| `get_node_detail` | Get a node with its neighbors and connecting edges |\n| `add_edge` | Add or upsert a relationship between two mashes |\n| `update_edge` | Update an edge's relation type or confidence |\n| `delete_edge` | Delete an edge |\n\n### Stats\n\n| Tool | Description |\n|------|-------------|\n| `get_stats` | Get mash counts by status/type and total edge count |\n\n---\n\n## Environment Variables\n\n| Variable | Description | Default |\n|----------|-------------|---------|\n| `MOONSHINE_DB_PATH` | Override database file path | Auto-detected per platform |\n| `MOONSHINE_READ_ONLY` | Set to `true` to block all write operations | `false` |\n| `MOONSHINE_DEBUG` | Set to `true` for verbose stderr logging | `false` |\n\n---\n\n## Verifying\n\nRun the [MCP Inspector](https://github.com/modelcontextprotocol/inspector) to test tools interactively:\n\n```bash\nnpx @modelcontextprotocol/inspector node dist/index.js\n```\n\n---\n\n## Security\n\n- `password_hash` and `session_token` are **never exposed** through any tool\n- API keys are read from the settings table internally but **never returned** in tool responses\n- Use `MOONSHINE_READ_ONLY=true` to prevent any database writes\n- WAL mode enables safe concurrent reads alongside the running Moonshine app\n\n---\n\n## License\n\n[MIT](LICENSE)\n\n---\n\n<p align=\"center\"><sub>under the moonlight, in silence.</sub></p>\n","readmeFilename":"README.md","_rev":"1-3fadf5ee98ae032f88e5b2d55f259fa1"}