Raster

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 MCP server is in Alpha. Tools, arguments, and behavior may change before the Beta release. Tool payloads track the REST and GraphQL APIs — follow the REST and GraphQL changelogs for wire-shape changes.

The endpoint

There is a single remote endpoint:

https://mcp.raster.app/
DetailValue
TransportStreamable HTTP (JSON-RPC over POST)
AuthAuthorization: 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 appSettings → 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 mcp tool takes a Bearer token via its authorization field.

OAuth support is coming soon. Once it ships, Raster will connect straight from these one-click connector UIs — follow the REST and GraphQL changelogs.

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.

ToolAccessPurpose
whoamiReadResolve your key's organization + library scope.
create_organizationAnonymousCreate an organization + library + API key for an agent — no account needed.
create_libraryWriteCreate a library in an organization you have a key for.
rename_libraryWriteRename a library.
list_librariesReadList libraries in an organization.
list_assetsReadList assets in a library (paginated, tag filter).
get_assetReadGet one asset by id.
search_assetsReadSearch assets across libraries (ranked, highlights).
list_tagsReadList a library's tags, by usage count.
upload_assetWriteUpload one file from a URL or inline base64.
upload_assetsWriteUpload up to 20 files in one call.
delete_assetsWriteMove up to 100 assets to trash (soft delete).
tag_assetsWriteApply up to 20 tags to up to 100 assets.
untag_assetsWriteRemove up to 20 tags from up to 100 assets.
update_asset_descriptionWriteReplace one asset's description (verbatim).
transfer_assetsWriteMove up to 100 assets between libraries.

Where to go next

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.

On this page