MCP Servers
10 built-in MCP server integrations with OAuth, SSE, and stdio transport support.
MCP Servers
Brainstorm includes a Model Context Protocol (MCP) client that connects to external tool servers. This extends the assistant's capabilities beyond built-in tools to interact with third-party services, databases, and APIs.
Built-in MCP Servers
Brainstorm ships with 10 pre-configured MCP server integrations:
Playwright
Browser automation for testing and web interaction. Navigate pages, fill forms, click elements, take screenshots, and run end-to-end tests.
GitHub
Full GitHub API access -- create issues, manage pull requests, review code, search repositories, and manage releases. Goes beyond the built-in gh_issue and gh_pr tools with complete API coverage.
Filesystem
Extended filesystem operations for sandboxed environments where the built-in filesystem tools are restricted.
Slack
Send messages, read channels, manage threads, and search workspace history. Useful for automated notifications and team coordination.
Linear
Create and manage issues, projects, and cycles in Linear. Supports reading project state and creating issues from code analysis.
Jira
Full Jira integration -- create issues, update statuses, manage sprints, and query with JQL.
Notion
Read and write Notion pages, databases, and blocks. Useful for syncing documentation and project tracking.
Datadog
Query metrics, create monitors, search logs, and manage dashboards. Enables AI-assisted observability workflows.
AWS
Interact with AWS services -- S3, Lambda, DynamoDB, CloudFormation, and more. Scoped by IAM permissions.
Stripe
Manage products, prices, subscriptions, and customers. Query payment data and create checkout sessions.
Transport Protocols
MCP servers communicate over one of three transport protocols:
- stdio -- Standard input/output. The server runs as a local subprocess. Lowest latency, simplest setup.
- SSE -- Server-Sent Events over HTTP. The server runs remotely and streams responses. Good for shared team servers.
- HTTP -- Standard HTTP request/response. Stateless, works through proxies and load balancers.
Configuration
Configure MCP servers in your brainstorm.toml or global config:
``toml
[[mcp.servers]]
name = "playwright"
transport = "stdio"
command = "npx"
args = ["@playwright/mcp-server"]
[[mcp.servers]]
name = "slack"
transport = "sse"
url = "https://mcp.slack.example.com/sse"
auth = "oauth"
`
OAuth Support
MCP servers that require authentication support OAuth client credentials flow. Configure OAuth in your config:
`toml
[[mcp.servers]]
name = "github"
transport = "stdio"
command = "npx"
args = ["@github/mcp-server"]
[mcp.servers.oauth]
client_id = "vault:github-oauth-client-id"
client_secret = "vault:github-oauth-client-secret"
token_url = "https://github.com/login/oauth/access_token"
scopes = ["repo", "read:org"]
`
The vault: prefix resolves secrets from the Brainstorm vault automatically.
Tool Normalization
MCP server tools are normalized to match Brainstorm's tool interface. This means:
- Tool names are namespaced (e.g., playwright.navigate
,slack.send_message) - Input schemas are validated with Zod
- Permissions are assigned based on the tool's capabilities (read/write/admin)
- Tool calls appear in the audit log alongside built-in tools
Adding Custom Servers
Any MCP-compatible server works with Brainstorm. Point to a local script or remote endpoint:
`toml
[[mcp.servers]]
name = "my-custom-server"
transport = "stdio"
command = "node"
args = ["./tools/my-mcp-server.js"]
``