This is a prototype of a remote MCP sever, acting as a middleware to the upstream Sentry API provider.
It is based on Cloudflare's work towards remote MCPs.
You'll find everything you need to know by visiting the deployed service in production:
If you're looking to contribute, learn how it works, or to run this for self-hosted Sentry, continue below..
While this repository is focused on acting as an MCP service, we also support a stdio transport. This is still a work in progress, but is the easiest way to adapt run the MCP against a self-hosted Sentry install.
To utilize the stdoio transport, you'll need to create an Personal API Token (PAT) in Sentry with the necessary scopes. As of writing this is:
org:read
project:read
project:write
team:read
team:write
event:read
Launch the transport:
npx @sentry/mcp-server@latest --access-token=sentry-pat --host=sentry.example.comNote: You can also use environment variables:
SENTRY_AUTH_TOKEN=
SENTRY_HOST=MCP includes an Inspector, to easily test the service:
pnpm inspectorEnter the MCP server URL (http://localhost:5173) and hit connect. This should trigger the authentication flow for you.
Note: If you have issues with your OAuth flow when accessing the inspector on 127.0.0.1, try using localhost instead by visiting http://localhost:6274.
If you'd like to iterate and test your MCP server, you can do so in local development. This will require you to create another OAuth App in Sentry (Settings => API => Applications):
- For the Homepage URL, specify
http://localhost:8788 - For the Authorized Redirect URIs, specify
http://localhost:8788/callback - Note your Client ID and generate a Client secret.
- Create a
.dev.varsfile in your project root with:
SENTRY_CLIENT_ID=your_development_sentry_client_id
SENTRY_CLIENT_SECRET=your_development_sentry_client_secretRun the server locally to make it available at http://localhost:8788
pnpm devTo test the local server, enter http://localhost:8788/sse into Inspector and hit connect. Once you follow the prompts, you'll be able to "List Tools".
There are two test suites included: basic unit tests, and some evaluations.
Unit tests can be run using:
pnpm testEvals will require a .env file with some config:
OPENAI_API_KEY=Once thats done you can run them using:
pnpm testWhen using Claude to connect to your remote MCP server, you may see some error messages. This is because Claude Desktop doesn't yet support remote MCP servers, so it sometimes gets confused. To verify whether the MCP server is connected, hover over the 🔨 icon in the bottom right corner of Claude's interface. You should see your tools available there.
To connect Cursor with your MCP server, choose Type: "Command" and in the Command field, combine the command and args fields into one (e.g. npx mcp-remote@latest https://<your-worker-name>.<your-subdomain>.workers.dev/sse).
Note that while Cursor supports HTTP+SSE servers, it doesn't support authentication, so you still need to use mcp-remote (and to use a STDIO server, not an HTTP one).
You can connect your MCP server to other MCP clients like Windsurf by opening the client's configuration file, adding the same JSON that was used for the Claude setup, and restarting the MCP client.