MCP Server
Connect Claude, ChatGPT, Cursor, and any other MCP client to your Raster libraries over the Model Context Protocol.
The Raster MCP server is a remote Model Context Protocol endpoint that lets any MCP-capable client — Claude, ChatGPT, Cursor, VS Code, and others — browse, upload, organize, and delete assets in the libraries your API key can reach, without writing any client-side glue. It uses the same API keys as the REST and GraphQL APIs.
The endpoint
There is a single remote endpoint:
https://mcp.raster.app/| Detail | Value |
|---|---|
| Transport | Streamable HTTP (JSON-RPC over POST) |
| Auth | Authorization: Bearer <API_KEY> |
Every request must be authenticated. Missing or malformed credentials are
rejected with 401. See Authentication for how to
create and scope a key.
Connect Raster
Every client needs the same three things: the URL https://mcp.raster.app/,
the Streamable HTTP transport, and a Bearer Authorization header carrying
an organization API key. These are the same keys — with the same per-library
access levels — you'd use for the REST or GraphQL
APIs. See Authentication to create one.
Pick your client below. In every case the client runs the MCP initialize
handshake automatically and Raster's twelve tools appear in
the tool palette.
Replace YOUR_API_KEY with a real organization API key. Treat it like a
password — anyone with the key has your key's library access.
Add the server from the CLI:
claude mcp add --transport http raster https://mcp.raster.app/ \
--header "Authorization: Bearer YOUR_API_KEY"Then run claude mcp list to confirm raster is connected. The tools appear
in the next session.
Add Raster to ~/.cursor/mcp.json (global) or .cursor/mcp.json (per project):
{
"mcpServers": {
"raster": {
"url": "https://mcp.raster.app/",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}Reload Cursor, then enable Raster under Settings → MCP.
With MCP support in GitHub Copilot, add a .vscode/mcp.json in your workspace:
{
"servers": {
"raster": {
"type": "http",
"url": "https://mcp.raster.app/",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}Start the server from the mcp.json editor lens, then pick Raster's tools in
the Copilot Chat tool picker.
Windsurf, Cline, Zed, and most other MCP clients accept the same remote-server
shape — a name, a URL, and an Authorization header:
{
"mcpServers": {
"raster": {
"url": "https://mcp.raster.app/",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}If a client only exposes a URL field, look for a "headers" or "authentication"
option to attach the Bearer token. Under the hood the contract is identical:
POST JSON-RPC to https://mcp.raster.app/ with a Bearer Authorization
header.
Coming soon: one-click app connectors
Some clients add remote MCP servers through a connector UI that authenticates with OAuth only — there's no field for a static API key. Raster's MCP server uses Bearer API keys today, so these can't add Raster from the UI yet:
- Claude Desktop app — Settings → Connectors → Add custom connector accepts a URL and OAuth credentials only. Use Claude Code (CLI) for a Bearer key in the meantime.
- ChatGPT app — custom connectors require OAuth 2.1 and reject API keys. You
can still drive Raster today through the
OpenAI API: the
Responses API's
mcptool takes a Bearer token via itsauthorizationfield.
Tools at a glance
Twelve tools cover the same surface as the REST and GraphQL APIs, plus a no-account create flow agents use to spin up a library and start uploading on a user's behalf. Full parameters and examples are on the Tools page.
| Tool | Access | Purpose |
|---|---|---|
whoami | Read | Resolve your key's organization + library scope. |
create_organization | Anonymous | Create an organization + library + API key for an agent — no account needed. |
create_library | Write | Create a library in an organization you have a key for. |
rename_library | Write | Rename a library. |
list_libraries | Read | List libraries in an organization. |
list_assets | Read | List assets in a library (paginated, tag filter). |
get_asset | Read | Get one asset by id. |
search_assets | Read | Search assets across libraries (ranked, highlights). |
list_tags | Read | List a library's tags, by usage count. |
upload_asset | Write | Upload one file from a URL or inline base64. |
upload_assets | Write | Upload up to 20 files in one call. |
delete_assets | Write | Move up to 100 assets to trash (soft delete). |
tag_assets | Write | Apply up to 20 tags to up to 100 assets. |
untag_assets | Write | Remove up to 20 tags from up to 100 assets. |
update_asset_description | Write | Replace one asset's description (verbatim). |
transfer_assets | Write | Move up to 100 assets between libraries. |
Where to go next
Authentication
Create API keys, scope library access, and authenticate the connection.
Tools
Every tool, its arguments, and a runnable example.
Resources
The read-only raster:// resource URIs.
Errors
The tool-error envelope and the shared error-code reference.
Need help?
Reach out at support@raster.app, or browse the REST and GraphQL references — the same API keys and payload shapes apply, so most questions transfer.