cursor-bridge-mcp
Click on "Deploy 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., "@cursor-bridge-mcpShow me the active rules for my current files"
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.
Cursor Bridge MCP
A local MCP server that gives Claude Code (and any MCP-compatible AI tool) native understanding of Cursor's context ecosystem — rules, agents, and skills.
Why
Most teams aren't all-in on one AI tool. Some developers prefer Cursor, others use Claude Code, and some switch between both depending on the task. But Cursor's context system — rules, agents, and skills — only works inside Cursor. Claude Code ignores .cursor/ entirely and reads only CLAUDE.md.
That leaves teams with a choice: maintain parallel context systems that drift apart, or pick one tool and lose the other's strengths. Cursor Bridge eliminates this by making Cursor's context files consumable by any MCP-compatible AI tool. Write your conventions once in .cursor/rules/, define your agents in .cursor/agents/, package your skills in .cursor/skills/ — and every developer on the team gets the same context regardless of which tool they use.
Related MCP server: @willpowell8/cursor-cloud-agent-mcp
What It Does
Cursor Bridge reads .cursor/rules/, .cursor/agents/, and .cursor/skills/, applies Cursor's activation logic (glob matching, always-apply, description-based discovery), and serves the right context to any AI tool on demand.
Rules are routed intelligently — always-apply rules inject automatically, glob-matched rules activate based on the files you're working on, and description-matched rules surface when the task is relevant
Agents are served as loadable role instructions — when a task matches an agent's description, the AI can adopt that agent's behavioral guidance
Skills are served as on-demand knowledge packages — the AI browses the index and loads what it needs, including supporting scripts and references
Quick Start
The fastest way to get running — no install needed:
{
"mcpServers": {
"cursor-bridge": {
"command": "npx",
"args": ["cursor-bridge-mcp"]
}
}
}Add this to .claude/settings.json (Claude Code) or .cursor/mcp.json (Cursor). That's it — npx downloads and runs the latest version automatically.
Other Install Options
Install globally
npm install -g cursor-bridge-mcpThen use "command": "cursor-bridge-mcp" in your MCP config instead of npx.
Build from source
git clone https://github.com/theamazingwolf/cursor-bridge-mcp.git
cd cursor-bridge-mcp
npm install
npm run build
npm linkThen use "command": "cursor-bridge-mcp" in your MCP config, or point directly to the build:
{
"mcpServers": {
"cursor-bridge": {
"command": "node",
"args": ["/path/to/cursor-bridge-mcp/dist/index.cjs"]
}
}
}Tools
get_active_rules
Returns rules that apply to your current files and/or task. This is the primary tool — call it when starting work or switching file context.
{
"files": ["src/components/Button.tsx"],
"task_description": "Refactoring the button component"
}Rules are matched by activation mode:
always —
alwaysApply: truerules are always includedauto — rules with
globspatterns are included when files matchagent-requested — rules with no globs are included when the task description overlaps with the rule's description
get_context_index
Returns a lightweight menu of all available rules, agents, and skills — descriptions only, no content. Use this to discover what's available.
{
"types": ["rule", "agent", "skill"]
}get_rule
Fetches the full content of a specific rule by name.
{ "name": "data-models-relationships" }get_agent
Fetches the full definition of a Cursor agent — including its system prompt / instructions.
{ "name": "security-auditor" }get_skill
Fetches the full content of a skill package.
{
"name": "pdf-processing",
"include_supporting_files": true
}get_skill_file
Fetches a specific supporting file from within a skill directory.
{
"skill_name": "pdf-processing",
"file_path": "scripts/extract-text.py"
}Usage with Claude Code
Add a CLAUDE.md to any project with a .cursor/ directory to tell Claude Code to use the bridge automatically. Here's a template:
## Cursor Bridge MCP
When the cursor-bridge MCP is connected, use it to read Cursor context files
instead of reading .cursor/ files directly.
- On session start, call `get_context_index` to discover available context
- When working on files, call `get_active_rules` with current file paths and/or
a task description to get relevant rules with full content
- Use `get_rule`, `get_agent`, `get_skill` to load specific items by name
- Use `get_skill_file` to load supporting files from skill packages
The bridge applies Cursor's activation logic (glob matching, always-apply,
description relevance) so you get the right context automatically.This way Claude Code knows to call the MCP tools rather than manually reading and interpreting .cursor/ files. The bridge handles the routing logic — which rules apply, which don't — so the AI doesn't have to.
Cursor Context Formats
Rules (.cursor/rules/)
Standard .mdc or RULE.md files with YAML frontmatter:
---
description: "React component conventions"
globs: "src/components/**/*.tsx"
alwaysApply: false
---
# Component Patterns
Your conventions here...Both .mdc files directly in the rules directory and RULE.md files in subdirectories are supported.
Agents (.cursor/agents/)
Markdown files with agent metadata in frontmatter:
---
description: "Reviews code for security vulnerabilities"
model: inherit
readonly: true
is_background: true
---
You are a security specialist...Skills (.cursor/skills/)
Directory-based packages with a SKILL.md and optional scripts/, references/, assets/ subdirectories:
.cursor/skills/pdf-processing/
├── SKILL.md
├── scripts/extract-text.py
└── references/form-fields.mdConfiguration
Optionally create .cursor-bridge/config.yaml to customize directory paths:
rules_directory: ".cursor/rules"
agents_directory: ".cursor/agents"
skills_directory: ".cursor/skills"All paths are relative to the workspace root. If no config file exists, the defaults above are used.
How It Works
No file watchers — the index rebuilds from disk on each tool call, parsing only YAML frontmatter (not full file content). This keeps every call fresh and avoids platform-specific reliability issues.
Lazy content loading — full markdown bodies are only read when a tool specifically needs them (e.g.,
get_rule,get_active_rulesfor matched rules). The index itself never loads content.No network access — pure local file parsing. No AI calls, no external APIs.
No code execution — skill scripts are served as text content, never executed.
Development
npm install
npm run build
npm testAvailable Tools
6 toolsget_active_rulesA
Returns rules that apply to a given set of files and/or task description. Call at session start or when switching file context.
| Name | Required | Description | Default |
|---|---|---|---|
| files | No | File paths relative to workspace root | |
| task_description | No | Description of the current task for agent-requested rule matching |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose any behavioral traits beyond the fact that it returns data. There is no mention of whether the tool has side effects, is read-only, or requires specific permissions, which is a notable gap for a query tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences. The first sentence states the purpose, and the second gives usage timing. No redundant or wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, and the description does not explain what the returned 'rules' contain (e.g., structure, fields). For a retrieval tool, some hints about the output format would be helpful, but the description is adequate for basic usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes both parameters (files and task_description) with 100% coverage. The description adds no additional semantic meaning or usage details beyond what the schema provides, meeting the baseline but not adding extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool returns rules for a given set of files or task description. This specific verb-resource combination distinguishes it from siblings like get_rule, which likely fetches a single rule.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly advises calling 'at session start or when switching file context,' providing clear guidance on when to use the tool. It lacks explicit when-not scenarios or alternatives, but the context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_agentB
Fetches the full definition of a Cursor agent by name.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Agent name (as shown in get_context_index) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only states 'fetches the full definition', implying read-only. It does not disclose any behavioral traits such as safety, required permissions, or whether the definition is returned in a specific format. The agent is left to infer behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words. However, it is very brief; additional context could be provided without losing conciseness, but as is it efficiently conveys the core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple nature (1 param, no output schema), the description is incomplete. It does not explain what 'full definition' entails (e.g., structure, fields) or provide any hints about the return value. An agent may not know how to use the result effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the parameter description in the schema already explains that 'name' is the agent name from get_context_index. The tool description adds no further semantic information beyond confirming it uses the name. Baseline 3 is appropriate as schema does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (fetches), resource (full definition of a Cursor agent), and mechanism (by name). It effectively distinguishes from sibling tools like get_rule or get_skill, which target different resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description does not mention context, prerequisites, or exclusions. For example, it does not say 'use this when you need the agent definition' or contrast with get_context_index.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_context_indexA
Returns a lightweight menu of all available context — rules, agents, and skills — with descriptions only, no content.
| Name | Required | Description | Default |
|---|---|---|---|
| types | No | Which context types to include. Defaults to all three. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so description carries full burden. It clearly states it returns descriptions only, not content, which is a key behavioral trait. However, it doesn't mention mutability, permissions, or side effects (likely none).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with purpose, zero waste. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool is simple (1 optional param, no output schema). Description adequately conveys the nature of the return value (menu with descriptions only). Could specify format, but not essential.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage: the single parameter 'types' is described. Description adds no additional meaning beyond schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb (Returns), the resource (lightweight menu of all available context), and what it includes (rules, agents, skills) and excludes (no content). This differentiates it from sibling tools like get_active_rules or get_agent which return full content.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs. siblings. The description implies it's for an overview, but doesn't say 'use this when you need a menu, not full details'. A contrast with siblings would improve score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ruleA
Fetches the full content of a specific rule by name.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Rule name (as shown in get_context_index) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully disclose behavioral traits. It only states it fetches full content but omits whether it is read-only, auth requirements, error behavior (e.g., if rule not found), or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence that is front-loaded and efficient. Every word is necessary, no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core purpose but lacks detail on return format or what 'full content' entails. For a simple tool with no output schema, it is minimally adequate but misses opportunities to explain behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% description coverage with one parameter 'name' described. The description adds value by specifying the name comes from get_context_index, aiding understanding. While not extensive, this extra context elevates it above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fetches the full content of a specific rule by name, using a specific verb and resource. It distinguishes itself from siblings like get_active_rules and get_context_index by focusing on a single rule identified by name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as get_active_rules or get_context_index. The description lacks context on prerequisites or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_skillC
Fetches the full content of a skill package.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Skill name (as shown in get_context_index) | |
| include_supporting_files | No | If true, include supporting file paths |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. The description only states the basic action without explaining side effects, permissions, errors, or return value structure. For a read operation, it is minimally adequate but lacks detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short (one sentence) and front-loaded with the key action. While concise, it could benefit from slight expansions without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema and annotations, the description is inadequate. It does not explain what 'full content' entails, how results are structured, or any potential limitations. A more complete description would include return type and usage notes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for both parameters, so the schema itself provides meaning. The tool description adds no additional parameter context beyond what the schema already offers, meeting the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb 'Fetches' and specifies the resource as 'full content of a skill package'. It distinguishes from sibling tools like get_skill_file, which likely fetches individual files, but does not explicitly differentiate from other tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The sibling tools are listed but not mentioned in the description, and there is no clarification of prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_skill_fileA
Fetches a specific supporting file from within a skill directory.
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes | Relative path within the skill directory (e.g., 'scripts/extract-text.py') | |
| skill_name | Yes | Name of the parent skill |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description is minimal but adequate for a simple retrieval. Does not disclose permissions, error handling, or return format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no wasted words, clearly conveys the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool is simple with 2 well-documented parameters. However, missing details on what the response contains (no output schema) and behavior on failure, which could be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage with clear descriptions for both parameters (file_path and skill_name). Description adds no additional meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'Fetches' and resource 'specific supporting file from within a skill directory', distinguishing it from sibling tools like get_skill which fetches the skill itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., get_skill) or conditions for use. Only a basic description of the action.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
6 tool updates
v0.1.1- First observed
get_active_rules - First observed
get_agent - First observed
get_context_index - First observed
get_rule - First observed
get_skill - First observed
get_skill_file
TDQS
Scored across 6 tools
Each tool targets a distinct entity (rules, agents, skills, context index) with clear parameters. There is no overlap: get_active_rules and get_rule differ by specificity, and get_skill and get_skill_file differ by scope.
All tools follow a consistent 'get_' prefix followed by the entity name in snake_case. This uniform pattern makes it easy to predict tool names.
With 6 tools, the set is appropriately scoped for a read-only retrieval server. Each tool serves a necessary function without redundancy or bloat.
The tool set covers all primary retrieval operations for the domain: fetching active rules, individual rules, agents, skills, skill files, and listing all available context. No obvious gaps for a read-only interface.
Maintenance
Related MCP Connectors
One shared context your team's AI tools read & write over MCP. No re-explaining. Free.
Your memory, everywhere AI goes. Build knowledge once, access it via MCP anywhere.
Share one project context across ChatGPT, Claude, Telegram and any MCP client.
shared AI-context layer for teams — persistent memory your agents search and update over MCP
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables the creation and execution of task-specific AI sub-agents defined in markdown across any MCP-compatible tool like Cursor or Claude Desktop. It integrates with execution engines such as Claude Code, Cursor CLI, and Gemini CLI to provide portable and reusable specialized agent workflows.1441 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables programmatic control of Cursor's cloud-based AI agents for automated code generation and repository management via standardized MCP tools.15 npm6MIT
- FlicenseNot gradedqualityDmaintenanceEnables LLM-powered code analysis, generation, debugging, and context management through MCP integration with IDEs like Cursor and Claude Desktop.-
- AlicenseNot gradedqualityCmaintenanceEnables AI tools to retrieve codebase context, summaries, decision notes, and file details via MCP, avoiding re-explaining the project.2MIT