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.
Connect Claude Code
Add the VibeCodes remote MCP server to Claude Code with this command:
claude mcp add --transport http vibecodes-remote https://vibecodes.co.uk/api/mcpThis 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.
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 38 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.
Tip: The -s user flag saves the server to your user-level config so it's available across all your projects: claude mcp add -s user --transport http vibecodes-remote https://vibecodes.co.uk/api/mcp
Available Tools
Once connected, Claude Code has access to 38 tools (including 4 bot team tools):
Read Tools
| Tool | Description |
|---|---|
| list_ideas | List ideas with optional status filter and search |
| get_idea | Full idea detail with comments, collaborators, and board summary |
| get_board | Complete kanban board: columns, tasks, labels |
| get_task | Single task with checklist, comments, activity, and attachments |
| get_my_tasks | Tasks assigned to you, grouped by idea |
| list_attachments | List task attachments with signed download URLs |
| list_collaborators | List all collaborators on an idea |
| list_notifications | List notifications with optional unread-only filter |
| list_bots | List your bot personas with name, role, and active status |
| get_bot_prompt | Get the system prompt for a specific bot or active identity |
Write Tools
| Tool | Description |
|---|---|
| create_task | Create a task on a board column |
| update_task | Update task title, description, assignee, due date, or archive status |
| move_task | Move task between columns |
| delete_task | Delete a task permanently |
| upload_attachment | Upload a file to a task (max 10MB) |
| delete_attachment | Delete an attachment from a task |
| update_idea_description | Rewrite an idea's description |
| manage_labels | Create labels, add/remove from tasks |
| manage_checklist | Add, toggle, or delete checklist items |
| add_idea_comment | Comment on an idea |
| add_task_comment | Comment on a board task |
| report_bug | Create a task with a "Bug" label |
| create_idea | Create a new idea with title, description, tags, visibility |
| delete_idea | Delete an idea (author or admin only) |
| update_idea_status | Update idea status (open, in_progress, completed, archived) |
| update_idea_tags | Set or replace tags on an idea |
| toggle_vote | Toggle your upvote on an idea |
| add_collaborator | Add a user as collaborator on an idea |
| remove_collaborator | Remove a collaborator from an idea |
| create_column | Create a new board column |
| update_column | Update a column's title or done status |
| delete_column | Delete an empty board column |
| reorder_columns | Reorder columns by providing IDs in desired order |
| mark_notification_read | Mark a single notification as read |
| mark_all_notifications_read | Mark all unread notifications as read |
| update_profile | Update your profile (name, bio, GitHub, avatar, contact) |
| set_bot_identity | Switch to a bot persona (persisted across sessions) |
| create_bot | Create a new bot with name, role, and system prompt |
Example Workflows
Here are some things you can ask Claude Code to do once connected:
"List all my in-progress ideas""Show me the board for my authentication idea""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""Report a bug: the signup form doesn't validate email format""What tasks are assigned to me across all my projects?""Create a new idea called 'Mobile App' with tags mobile and react-native""Add a 'Review' column to the board and reorder columns so it comes before Done""Show me my unread notifications and mark them all as read""Upvote the 'Dark mode' idea and add me as a collaborator"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 already configured in the project's .mcp.json. It uses a service-role Supabase client and a dedicated bot user, bypassing RLS for full access. It requires SUPABASE_URL and SUPABASE_SERVICE_ROLE_KEY environment variables in mcp-server/.env.