Introduction
Graniite exposes your library through an MCP server and a REST API, both authenticated with the same bearer token.
The Graniite API gives you programmatic access to your library. There are two surfaces and both use the same per-user bearer token.
MCP server
The Model Context Protocol server is available at https://graniite.co/api/mcp. AI clients such as Claude Desktop, Cursor, ChatGPT, and n8n connect to it and call a small set of tools inside a conversation:
search_knowledge_base: semantic, keyword, and hybrid searchget_item: fetch a single item by idlist_recent: list recent items in scopeadd_to_knowledge: add a URL or text snippet
The MCP surface is read and add only. Update, delete, and organization operations are available on the REST API.
REST API
The REST API is available at https://graniite.co/api/v1. It covers CRUD, organization, and automation, and is suitable for n8n flows, Zapier integrations, scripts, and custom code:
- Folders: list, create, delete
- Items: list, get, delete
- Memberships: add and remove items from folders
- Ingest: add URL or text content
- Uploads: three-step signed-URL flow for binary files
All endpoints are documented in the OpenAPI 3.1 spec. The spec works with any OpenAPI-aware tool wrapper, including LangChain OpenAPIToolkit, LlamaIndex OpenAPIToolSpec, and Postman.
Where to start
To connect an AI client to your library:
Claude Desktop
OAuth flow, no token paste. Native HTTP MCP.
Cursor
Native HTTP MCP form. Add server, approve, done.
ChatGPT + other MCP clients
Same URL, any compliant MCP client. Includes the mcp-remote bridge for stdio-only clients.
To build an automation that reads or writes your library programmatically:
n8n quickstart
Build a URL-ingest pipeline in one HTTP Request node.
Binary file uploads
When and how to use the three-step signed-URL flow.
To understand the model first: