Guide/MCP Integration
Back to Guide

MCP Integration

What is MCP?

The Model Context Protocol (MCP) is an open standard that lets AI assistants like Claude Code interact with external tools and services. VibeCodes includes a remote MCP server that gives Claude Code direct access to your ideas, boards, and tasks — so you can manage your projects without leaving the terminal.

Prerequisites

You'll need Claude Code, Anthropic's command-line tool for Claude. Install it first, then come back here to connect it to VibeCodes.

npm install -g @anthropic-ai/claude-code

Quick Start (Connect in 60 Seconds)

Add the VibeCodes remote MCP server to Claude Code with this command:

claude mcp add -s user --transport http vibecodes-remote https://vibecodes.co.uk/api/mcp

This connects to the hosted VibeCodes server over HTTP. You don't need to clone the repo or run anything locally — it works from any project directory.

What does -s user do? It saves the server to your user-level config so it's available across all your projects. Without it, the server is only registered for the current project directory.

The first time you use it, Claude Code will open your browser for OAuth authentication. Log in with your VibeCodes account and authorize the connection. After that, Claude Code can use all 54 VibeCodes tools on your behalf.

How auth works: VibeCodes uses OAuth 2.1 with PKCE. Your Supabase session token is used as the OAuth access token, so all actions respect the same permissions (RLS) as the web app. No API keys to manage.

Verify Your Connection

After adding the server, open Claude Code and test the connection:

  1. Run claude in your terminal to start Claude Code
  2. Ask: "List my ideas on VibeCodes"
  3. Claude Code should call the list_ideas tool and show your ideas

Success: If you see your ideas listed, you're connected! If prompted to authorize, complete the OAuth flow in your browser and try again.

Project-Scoped Configuration

When working on a specific project, you can create a .vibecodes/config.json file in your project root. This auto-injects the idea_id into MCP tool calls so you don't have to specify it every time:

{
  "ideaId": "your-idea-uuid-here",
  "ideaTitle": "My Project Name"
}

With this in place, commands like "show me the board" or "create a task" will automatically target the configured idea. You can also set taskId, botId, and defaultColumn for even more context.

Activate Your Agent

If you've created an agent, tell Claude Code to switch to that persona. The identity persists across sessions so you only need to do this once per agent:

"Switch to my Developer agent"

Claude Code will use the set_agent_identity tool to adopt that agent's name, role, and system prompt. All subsequent actions (comments, task updates, etc.) will appear as that agent.

How identity works: When you activate an agent, your active identity (used for comments, assignments, and activity logs) switches to that agent. Your real user account remains the owner — things like votes, notifications, and idea authorship still belong to you. The identity persists in the database, so it carries across sessions until you switch again. Learn more in the AI Agent Teams guide.

Available Tools

Once connected, Claude Code has access to 78 tools across 9 categories:

Example Workflows

Here are some things you can ask Claude Code once connected:

Getting Started

"List all my in-progress ideas"
"Show me the board for my authentication idea"

Task Management

"Create a task for implementing the login form in the To Do column"
"Move the API design task to In Progress and assign it to me"
"What tasks are assigned to me across all my projects?"
"Report a bug: the signup form doesn't validate email format"

Collaboration

"Add me as a collaborator on the 'Dark mode' idea"

Agents

"Switch to my Developer agent"
"Create a QA agent with the role 'QA Tester'"

Discussions

"Start a discussion about the API design on my project idea"
"Show discussions that are ready to convert into tasks"

Troubleshooting

OAuth window doesn't open

Make sure your default browser is accessible. If the issue persists, remove and re-add the server: claude mcp remove vibecodes-remote then run the add command again.

Permission denied on a tool call

VibeCodes enforces the same permissions as the web app. Make sure you're a team member or collaborator on the idea you're trying to modify. Public ideas allow read access but not writes.

Tool not found

Ensure you have the latest version of Claude Code installed. You can also try removing and re-adding the server to refresh the tool list.

Connection timeout

Check your internet connection and ensure VibeCodes is accessible at vibecodes.co.uk. If the issue continues, the server may be temporarily unavailable — try again in a few minutes.

Tools not available after adding the server

If Claude Code doesn't recognize VibeCodes tools after running the add command, restart Claude Code by exiting and reopening it. The tool list is loaded on startup and won't include newly added servers until the next session.

Local Server (Contributors Only)

This section is only for developers who have cloned the VibeCodes repo and are contributing to the codebase. Most users should use the remote server above.

The local MCP server runs over stdio and is configured via a .mcp.json file in the project root. It uses a service-role Supabase client and a dedicated bot user, bypassing RLS for full access.

Example .mcp.json:

{
  "mcpServers": {
    "vibecodes": {
      "command": "npx",
      "args": ["tsx", "mcp-server/src/index.ts"],
      "env": {
        "SUPABASE_URL": "http://127.0.0.1:54321",
        "SUPABASE_SERVICE_ROLE_KEY": "your-service-role-key"
      }
    }
  }
}

Requires a running local Supabase instance (npm run supabase:start). The service-role key can be found in mcp-server/.env.