@moss-tools/mcp-server
v1.0.0-beta.2
Published
MCP server exposing MOSS semantic search and index management as tools.
Maintainers
Readme
@moss-tools/mcp-server
MCP (Model Context Protocol) server that exposes MOSS semantic search and index management as tools for any MCP-compatible client.
Queries automatically load indexes into memory on first use, giving <10ms local latency instead of ~1s cloud round-trips.
Quick Start
Claude Desktop
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"moss": {
"command": "npx",
"args": ["-y", "@moss-tools/mcp-server"],
"env": {
"MOSS_PROJECT_ID": "your-project-id",
"MOSS_PROJECT_KEY": "your-project-key"
}
}
}
}Direct Usage
MOSS_PROJECT_ID=your-id MOSS_PROJECT_KEY=your-key npx @moss-tools/mcp-serverEnvironment Variables
| Variable | Required | Description |
|----------|----------|-------------|
| MOSS_PROJECT_ID | Yes | Your MOSS project ID |
| MOSS_PROJECT_KEY | Yes | Your MOSS project key |
How Querying Works
The query tool automatically loads the index into memory on the first call for each index. This means:
- First query -- downloads the index locally (~1-2s one-time cost), then runs the query locally
- Subsequent queries -- run entirely in-memory at <10ms latency
The server tracks which indexes are loaded and skips the download on repeat queries. Use load_index to pre-load specific indexes ahead of time and avoid the first-query latency. Mutations (add_docs, delete_docs, delete_index) invalidate the local copy so the next query re-downloads fresh data.
Tools
| Tool | Description |
|------|-------------|
| create_index | Create a new index with documents |
| add_docs | Add documents to an existing index |
| delete_docs | Delete documents by ID |
| load_index | Pre-load an index into memory for fast local queries |
| query | Semantic search (auto-loads index locally, <10ms after first load) |
| list_indexes | List all indexes in the project |
| get_index | Get metadata for an index |
| delete_index | Delete an index |
| get_docs | Retrieve documents from an index |
| get_job_status | Check status of an async job |
Programmatic Usage
import { createMossMcpServer, MossClient } from "@moss-tools/mcp-server";
import { MossClient as MossSdkClient } from "@inferedge/moss";
const restClient = new MossClient({
projectId: "your-id",
projectKey: "your-key",
});
const sdkClient = new MossSdkClient("your-id", "your-key");
const server = createMossMcpServer(restClient, sdkClient);
// Connect to any MCP transportLicense
MIT
