Each plugin bundles skills, optional MCP server configs, and agent tool mappings. Select a category from the sidebar or browse all plugins below.
CMS Plugins
Sanity
GROQ queries, real-time collaboration.
| Auth Type | MCP Package | Official Docs |
|---|---|---|
OAuth | HTTP/OAuth | sanity.io/docs |
MCP Config
{
"servers": {
"Sanity": {
"type": "http",
"url": "https://mcp.sanity.io"
}
}
} Contentful
GraphQL / REST API, structured content.
| Auth Type | MCP Package | Official Docs |
|---|---|---|
| No auth | @contentful/mcp-server | contentful.com/developers/docs |
MCP Config
{
"servers": {
"Contentful": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@contentful/mcp-server"]
}
}
} Strapi
Open-source headless CMS.
| Auth Type | MCP Package | Official Docs |
|---|---|---|
| No auth | strapi-mcp | docs.strapi.io |
MCP Config
{
"servers": {
"Strapi": {
"type": "stdio",
"command": "npx",
"args": ["-y", "strapi-mcp"]
}
}
} Database Plugins
Supabase
Postgres + Auth + RLS + Edge Functions.
| Auth Type | MCP Package | Official Docs |
|---|---|---|
OAuth | HTTP/OAuth | supabase.com/docs |
MCP Config
{
"servers": {
"Supabase": {
"type": "http",
"url": "https://mcp.supabase.com/mcp"
}
}
} Convex
Reactive backend with real-time sync.
| Auth Type | MCP Package | Official Docs |
|---|---|---|
| No auth | convex | docs.convex.dev |
MCP Config
{
"servers": {
"Convex": {
"type": "stdio",
"command": "npx",
"args": ["-y", "convex@latest", "mcp", "start"]
}
}
} Prisma
Type-safe ORM with migrations and schema management.
| Auth Type | MCP Package | Official Docs |
|---|---|---|
| No auth | @anthropic/prisma-mcp | prisma.io/docs |
MCP Config
{
"servers": {
"Prisma": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@anthropic/prisma-mcp@latest"]
}
}
} Framework Plugins
Next.js
React framework with App Router, Server Components, and MCP devtools.
| Auth Type | MCP Package | Official Docs |
|---|---|---|
| No auth | next-devtools-mcp | nextjs.org/docs |
MCP Config
{
"servers": {
"next-devtools": {
"type": "stdio",
"command": "npx",
"args": ["-y", "next-devtools-mcp@latest"]
}
}
} Astro
Content-driven web framework with islands architecture.
| Auth Type | MCP Package | Official Docs |
|---|---|---|
| No auth | HTTP (hosted) | docs.astro.build |
MCP Config
{
"servers": {
"Astro docs": {
"type": "http",
"url": "https://mcp.docs.astro.build/mcp"
}
}
} Deployment
Vercel
Deployment and hosting platform.
| Auth Type | MCP Package | Official Docs |
|---|---|---|
OAuth | HTTP/OAuth | vercel.com/docs |
MCP Config
{
"servers": {
"Vercel": {
"type": "http",
"url": "https://mcp.vercel.com"
}
}
} Netlify
Deployment, serverless functions, edge config.
| Auth Type | MCP Package | Official Docs |
|---|---|---|
API Key | netlify-mcp | docs.netlify.com |
NETLIFY_AUTH_TOKENGenerate at app.netlify.com → User Settings → Applications → Personal access tokens. Add it to your
.env file:
NETLIFY_AUTH_TOKEN="your-token-here" MCP Config
{
"servers": {
"Netlify": {
"type": "stdio",
"command": "npx",
"args": ["-y", "netlify-mcp@latest"]
}
}
} Codebase Tools
NX
Monorepo build system.
| Auth Type | MCP Package | Official Docs |
|---|---|---|
| No auth | Bundled with nx | nx.dev/getting-started |
MCP Config
{
"servers": {
"NX": {
"type": "stdio",
"command": "npx",
"args": ["nx", "mcp"]
}
}
} Turborepo
Monorepo build system with remote caching.
| Auth Type | MCP Package | Official Docs |
|---|---|---|
| No auth | — | turbo.build/repo/docs |
Testing
Vitest
Vite-native unit and integration testing.
| Auth Type | MCP Package | Official Docs |
|---|---|---|
| No auth | — | vitest.dev |
Playwright
Cross-browser E2E testing by Microsoft.
| Auth Type | MCP Package | Official Docs |
|---|---|---|
| No auth | @playwright/mcp | playwright.dev/docs |
MCP Config
{
"servers": {
"Playwright": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@playwright/mcp@latest"]
}
}
} Cypress
E2E and component testing in the browser.
| Auth Type | MCP Package | Official Docs |
|---|---|---|
| No auth | — | docs.cypress.io |
Chrome DevTools
Browser testing, screenshots, DOM inspection.
| Auth Type | MCP Package | Official Docs |
|---|---|---|
| No auth | chrome-devtools-mcp | developer.chrome.com |
MCP Config
{
"servers": {
"chrome-devtools": {
"type": "stdio",
"command": "npx",
"args": ["-y", "chrome-devtools-mcp@latest"]
}
}
} Issue Trackers
Linear
Issue tracking with MCP integration.
| Auth Type | MCP Package | Official Docs |
|---|---|---|
API Key | @mseep/linear-mcp | linear.app/docs |
LINEAR_API_KEYCreate at linear.app → Settings → API → Personal API keys. Add it to your
.env file:
LINEAR_API_KEY="lin_api_your-key-here" MCP Config
{
"servers": {
"Linear": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@mseep/linear-mcp"],
"envFile": "${workspaceFolder}/.env"
}
}
} Jira
Atlassian issue tracking via Rovo MCP.
| Auth Type | MCP Package | Official Docs |
|---|---|---|
OAuth | HTTP/OAuth | developer.atlassian.com |
MCP Config
{
"servers": {
"Jira": {
"type": "http",
"url": "https://mcp.atlassian.com/v1/mcp"
}
}
} Notifications
Slack
Connect the @kazuph/mcp-slack MCP server so your AI agents can post progress updates,
request approvals, and read responses — all through Slack channels.
| Auth Type | MCP Package | Official Docs |
|---|---|---|
API Key | @kazuph/mcp-slack | api.slack.com/docs |
mcp.slack.com) requires OAuth, but VS Code
redirects to http://127.0.0.1:<port> which Slack rejects
because it requires HTTPS redirect URLs.
We use @kazuph/mcp-slack instead — it runs locally via stdio
and reads the bot token from .env, no OAuth needed.
1. Create a Slack App
- Go to api.slack.com/apps
- Click Create New App → From scratch
- Name it something like
OpenCastle Agentsand select your workspace - Click Create App
- In the left sidebar, go to App Home and enable "Allow users to send Slash commands and messages from the messages tab"
2. Configure Bot Token Scopes
- In your Slack app settings, go to OAuth & Permissions
- Scroll down to Bot Token Scopes
- Add the scopes listed below
Minimum (agent notifications)
| Scope | Purpose |
|---|---|
chat:write | Send messages and replies |
channels:read | List channels |
channels:history | Read messages in public channels |
users:read | Look up user profiles |
Recommended (full MCP server capabilities)
| Scope | Purpose |
|---|---|
chat:write | Send messages |
channels:read | List channels and metadata |
channels:history | Read public channel history |
channels:manage | Create/rename channels, set topics |
groups:read | List private channels |
groups:history | Read private channel history |
mpim:read | List group DMs |
mpim:history | Read group DM history |
im:read | List direct message conversations |
im:history | Read DM history |
users:read | Read user profiles |
users:read.email | Read user emails |
channels:manage is optional — only
needed if agents should create or rename channels. Bot tokens cannot
search messages; if you need search, use a user token (xoxp-…)
instead.
3. Get Your Bot Token
- Still in your Slack app settings, scroll to the top of the OAuth & Permissions page
- Click Install to Workspace (or Reinstall to Workspace if you've already installed it before adding scopes)
- Authorize the app when prompted
- Copy the Bot User OAuth Token (
xoxb-…) that appears at the top of the page
.env file (which should be in
.gitignore). Never commit it to source control.
Add the token to your .env file:
SLACK_MCP_XOXB_TOKEN="xoxb-your-token-here" 4. MCP Config
VS Code — ensure .vscode/mcp.json includes
(automatic if you ran npx opencastle init with Slack enabled):
{
"servers": {
"Slack": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@kazuph/mcp-slack"],
"envFile": "${workspaceFolder}/.env",
"env": {
"SLACK_MCP_ADD_MESSAGE_TOOL": "true"
}
}
}
} SLACK_MCP_ADD_MESSAGE_TOOL env var
enables the conversations_add_message tool, which is disabled
by default for safety. Set it to true to allow posting to all
channels, or to a comma-separated list of channel IDs to restrict posting.
Cursor — the Slack server appears from .cursor/mcp.json
(auto-generated by npx opencastle init). Open Cursor Settings → MCP → Enable.
Claude Code — reads config from .claude/mcp.json
(auto-generated). Run claude mcp list to verify.
5. Verify
Ask your AI assistant:
"List my Slack channels using the Slack MCP tools"
If it returns a list of channels, the connection is working.
Troubleshooting
"missing_scope" error — Go back to your Slack app's OAuth & Permissions → Bot Token Scopes, add the missing scope(s), then click Reinstall to Workspace.
"not_authed" / "invalid_auth" — Check that your .env
contains SLACK_MCP_XOXB_TOKEN with a valid xoxb-… token,
wrapped in quotes with no trailing whitespace.
Bot can't see channels — Invite the bot to the channel:
/invite @OpenCastle Agents.
Can't post messages — Ensure
SLACK_MCP_ADD_MESSAGE_TOOL=true is set in your MCP config's
env block.
"Sending messages to this app has been turned off" — Go to Slack app settings → App Home → enable "Allow users to send Slash commands and messages from the messages tab".
Microsoft Teams
Agent notifications via Teams channels.
| Auth Type | MCP Package | Official Docs |
|---|---|---|
OAuth | HTTP/OAuth | learn.microsoft.com |
MCP Config
{
"servers": {
"Microsoft Teams": {
"type": "http",
"url": "https://agent365.svc.cloud.microsoft/agents/tenants/${input:tenant_id}/servers/mcp_TeamsServer"
}
}
} $${input:tenant_id} with your
Microsoft 365 tenant ID. In VS Code, this will prompt you for the value
when the server starts.
Design
Figma
Design tokens, component specs, asset export.
| Auth Type | MCP Package | Official Docs |
|---|---|---|
API Key | @anthropic/figma-mcp | figma.com/developers/api |
FIGMA_ACCESS_TOKENGenerate at figma.com → Settings → Personal access tokens. Add it to your
.env file:
FIGMA_ACCESS_TOKEN="your-token-here" MCP Config
{
"servers": {
"Figma": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@anthropic/figma-mcp@latest"],
"envFile": "${workspaceFolder}/.env"
}
}
} Resend
Transactional email API with React templates.
| Auth Type | MCP Package | Official Docs |
|---|---|---|
API Key | resend-mcp | resend.com/docs |
RESEND_API_KEYGenerate at resend.com → API Keys. Add it to your
.env file:
RESEND_API_KEY="re_your-key-here" MCP Config
{
"servers": {
"Resend": {
"type": "stdio",
"command": "npx",
"args": ["-y", "resend-mcp"],
"envFile": "${workspaceFolder}/.env"
}
}
}