bugsink-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@bugsink-mcpshow me the latest unresolved issues for the billing project"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
bugsink-mcp
A remote MCP server for a self-hosted Bugsink instance, so Claude Code and claude.ai can read your error tracking and triage issues.
One deploy runs on a single Fly.io machine, fronts one Bugsink instance with one API token, and lets connectors in through OAuth 2.1 gated by one shared password. It is read and triage only by design.
Tools
Read:
Tool | What it returns |
| Projects with event counts |
| A project's issues, newest-seen first; sortable, paginated |
| One issue: type, value, counts, resolved/muted state |
| Stored occurrences of an issue |
| One event with its rendered stacktrace, optionally the raw payload |
| Frames, source context and locals as text |
| The newest occurrence of an issue, rendered |
Triage:
Tool | What it does |
| Unconditionally, or until the next / latest release |
| Reopen a resolved issue |
| Indefinitely or for a fixed span |
| Leave a comment visible in the Bugsink UI |
Issues are addressable by UUID or by their short friendly id.
Every event payload is text an attacker chose: any error in a monitored app becomes a string the model reads, so the write surface stays as small as it is.
Related MCP server: Remote MCP Server on Cloudflare
Deploy your own
You need a Bugsink instance reachable over HTTPS, a Bugsink API token (Bugsink UI, Tokens menu), and flyctl.
Clone this repo and edit the three values at the top of
fly.toml:app,BUGSINK_URL,PUBLIC_HOST.PUBLIC_HOSTis normally<app>.fly.dev. Pick aprimary_regionnear your Bugsink instance.Create the app and the volume that keeps OAuth grants alive across deploys:
fly apps create <app> fly volumes create mcp_data --app <app> --region <region> --size 1Set the two secrets:
cp .env.example .env # fill in BUGSINK_TOKEN and MCP_PASSWORD ./scripts/push-env.sh --stageMCP_PASSWORDmust be at least 20 characters or the server refuses to start.Deploy:
fly deploy curl https://<PUBLIC_HOST>/health
Connect from Claude Code
claude mcp add --transport http bugsink https://<PUBLIC_HOST>/mcpAdding the server does not authenticate it. Run /mcp in a session and authenticate from there; the password is MCP_PASSWORD.
To share the connection with everyone working in a repo, add it at project scope instead. That writes a .mcp.json you can commit; committing it shares the URL, not access, so each person still needs the password.
claude mcp add --transport http --scope project bugsink https://<PUBLIC_HOST>/mcpConnect from claude.ai
Add https://<PUBLIC_HOST>/mcp as a custom connector.
Access model
One deploy has one principal. Every token the server issues belongs to the same owner, whoever typed the password. Giving someone the password gives them everything the tools can do against your Bugsink instance. For separate access, run separate deploys.
Revoke everyone. Open
https://<PUBLIC_HOST>/logoutand enter the password. Every issued token dies. Connectors reconnect by logging in again.Rotate the password. Change
MCP_PASSWORDin.env, run./scripts/push-env.sh, then visit/logoutwith the new password. Changing the password alone does not sign out existing connectors.Cut off the server. Delete the API token in Bugsink. Every tool call fails immediately.
Locked out. A 429 on the login or logout page means too many wrong guesses, from you or from anyone else. It clears on its own within 15 minutes.
Run locally
uv venv && source .venv/bin/activate
uv pip install -r requirements.txt
export BUGSINK_URL=https://bugsink.example.com
export BUGSINK_TOKEN=...
export MCP_PASSWORD=$(openssl rand -hex 16)
export PUBLIC_HOST=127.0.0.1
export PUBLIC_BASE=http://127.0.0.1:8000
export OAUTH_DB_PATH=./oauth.db
uvicorn server:app --port 8000claude mcp add --transport http bugsink-local http://127.0.0.1:8000/mcpConfiguration
Variable | Where | Meaning |
|
| Public URL of your Bugsink instance |
|
| Hostname this server answers on; other |
| secret | Bugsink API token |
| secret | Login-page password, 20+ characters |
| optional | OAuth issuer URL. Defaults to |
| optional | SQLite file for clients and tokens. Defaults to |
How it works
server.pyis the tools and the transport.oauth.pyis the authorization server and the login page.
Each module's docstring carries the design. Tested against Bugsink 2.5.
Development
uvx ruff check . && uvx ruff format --check .License
MIT
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Connect Claude AI to UluP Spaces via MCP — create projects, nodes, and tasks with OAuth 2.0.
Enable secure connectivity between Sentry issues and debugging data, and LLM clients, using a Model Context Protocol (MCP) server.
- i3deployOAuthcom.i3deploy
Deploy & release tracking with native MCP — ask Claude what's in production and cut the release.
- QuallaaOAuthcom.quallaa
Talk to your public-facing AI from any MCP client — Claude, ChatGPT, Cursor, Cline, Windsurf.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceEnables deploying MCP servers on Cloudflare Workers with OAuth authentication and SSE transport. Allows connecting Claude Desktop and other MCP clients to remotely hosted tools via HTTP.-
- FlicenseNot gradedqualityCmaintenanceEnables deploying a Model Context Protocol (MCP) server on Cloudflare Workers with built-in OAuth authentication. It allows local clients like Claude Desktop to securely connect to and use remote tools through an HTTP/SSE transport.-
- AlicenseNot gradedqualityCmaintenanceEnables deploying and connecting to MCP servers on Cloudflare Workers with OAuth login, allowing remote access to tools via MCP clients like Claude Desktop.152MIT
- AlicenseNot gradedqualityCmaintenanceA production-ready MCP bridge server connecting Claude Chat to any GitHub repository for file operations, issue management, and code search via OAuth 2.0 authenticated Streamable HTTP transport.6MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ap-justin/bugsink-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server