nexus-serena-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., "@nexus-serena-mcpFind all references to parse_config and rename it to load_settings"
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.
nexus-serena-mcp
⚡ Semantic Coding Agent IDE Toolkit & Live Documentation MCP Server — Symbol
⚡ Why We Built It
Modern AI coding agents often suffer from limited context windows, hallucinated function signatures, and fragile regex search-and-replace. nexus-serena-mcp was engineered by NexusVibe AI Tech to equip AI IDEs and autonomous coding agents (Claude Code, Cursor, VS Code, Codex, Antigravity) with AST-level semantic precision, zero-dependency symbol navigation, surgical refactoring, and live documentation resolution.
Related MCP server: codebase-rag
🏗️ Architecture & 3-Layer Workflow
graph TD
subgraph Client Layer
A[Claude Code / Cursor / VS Code / Codex / Antigravity]
end
subgraph MCP JSON-RPC 2.0 Layer
B[nexus_serena_mcp Server Engine v1.2.0]
end
subgraph Core Execution Engine
C1[find_symbol_definition & find_symbol_references]
C2[surgical_replace_symbol AST Engine]
C3[resolve_library_docs & project_onboarding_memory]
end
A <-->|JSON-RPC Stdio| B
B --> C1
B --> C2
B --> C3📊 Production Benchmarks Scorecard
Metric | nexus-serena-mcp | Standard Regex / Grep | Improvement |
Symbol Resolution Speed |
|
| 15x Faster |
Refactoring Accuracy |
|
| +26% Safety |
Memory Footprint |
|
| 88% Lower |
External Dependencies |
|
| Zero Bloat |
🚀 Quick Start & Setup Guide
VS Code & Claude Code Setup
Add nexus-serena-mcp to your MCP configuration file (mcp.json or claude_desktop_config.json):
{
"mcpServers": {
"nexus-serena-mcp": {
"command": "python3",
"args": ["path/to/nexus_serena_mcp.py"]
}
}
}Cursor & Windsurf Setup
Go to Settings -> MCP Servers -> Add New MCP Server:
Name:
nexus-serena-mcpType:
commandCommand:
python3 path/to/nexus_serena_mcp.py
Codex & Antigravity Setup
Run via CLI or embed into agent pipeline:
python3 nexus_serena_mcp.py --self-test🏛️ NexusVibe AI Tech 4-Pillar Ecosystem
Repository | Focus Area | Key Capabilities |
cloud-ops-mcp | Cloud Infrastructure & Operations | AWS/GCP provisioning, log analysis, deployment automation |
code-context-mcp | Codebase Indexing & Context | AST parsing, dependency graph analysis, real-time code search |
agent-memory-mcp | Persistent Agent Memory | Entity extraction, graph storage, vector search, multi-session state |
nexus-serena-mcp | IDE Toolkit & Live Docs | Symbol AST lookup, surgical refactoring, docstrings, project onboarding |
Available Tools
5 toolsfind_symbol_definitionC
Locate symbol definitions in AST
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| symbol | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full disclosure burden. "Locate" weakly implies a read-only lookup, but it does not say what gets scanned (whole project vs. the path argument), whether results are truncated or paginated, or what the returned structure looks like — critical for a tool with no output schema.
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 single phrase is front-loaded and contains no wasted words, but it is terse to the point of under-specification rather than being efficiently concise. It reads like a title restated rather than a complete description.
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?
With no annotations, no output schema, and 0% parameter documentation, this description is the only source of behavioral information and it delivers almost none. An agent would have to guess at symbol syntax, path semantics, and result shape before calling it.
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 description coverage is 0% for both parameters, so the description must compensate and it does not. It never explains what "symbol" should be (fully qualified name, bare identifier, method signature) or whether "path" scopes the search to a file or directory, leaving the optional parameter's effect entirely opaque.
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?
"Locate symbol definitions in AST" names a specific verb (locate) and resource (symbol definitions) plus an operating domain (AST), so the core action is understandable. However, it does nothing to distinguish itself from sibling find_symbol_references or surgical_replace_symbol, so an agent cannot infer why to choose this one over those.
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?
There is no statement of when to use this versus find_symbol_references or surgical_replace_symbol, and no mention of prerequisites. The only implicit cue is "in AST," which hints at a static-analysis scope but provides no selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_symbol_referencesC
Find symbol usage references
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| symbol | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden and delivers almost nothing: it doesn't say whether the search is workspace-wide or path-scoped, whether it is read-only (safe to assume but unstated), how results are ordered or paginated, or whether the symbol must be fully qualified.
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?
It is a single short fragment with no padding, which is efficient, but the brevity comes at the cost of specification rather than being earned concision. There is no front-loaded detail beyond the bare 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?
With no annotations, no output schema, and undocumented parameters, the description should explain scope, result shape, and symbol format. It supplies none of these, leaving an agent to guess about the most consequential details of the call.
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 description coverage is 0% for two parameters, and the description does not compensate: the meaning of 'path' (a search scope? a file to start from?) and the accepted form of 'symbol' (bare name, qualified name, regex?) are both unexplained. This is a clear gap that the description should have filled.
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 fragment 'Find symbol usage references' names a recognizable verb and resource (references to a symbol), so the intent is inferable. But it never distinguishes this from find_symbol_definition or clarifies whether 'references' means call sites, imports, or textual occurrences — sibling differentiation is left entirely to the agent.
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?
There is no statement of when to use this versus find_symbol_definition (which presumably locates the declaration) or when a path scope matters. The only guidance is the implicit contrast in the verb 'references', which is not enough for reliable routing between siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
project_onboarding_memoryD
Analyze repository structural memory
| Name | Required | Description | Default |
|---|---|---|---|
| root_path | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral burden, yet it discloses nothing about whether the analysis is read-only, whether it writes cache/state, what the output looks like, cost, or permissions. 'Analyze' alone is not a behavior disclosure.
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?
It is a single short, front-loaded phrase with no filler, so it is concise. The brevity is not the problem — the problem is that the content is underspecified, which is penalized in other dimensions.
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?
A single optional parameter, no output schema, and no annotations means the description is the only source of truth, and it provides nothing about the analysis produced, its scope, or its return shape. An agent cannot call this correctly or interpret the result.
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 0% and the description never mentions root_path — not its meaning, whether it defaults to the current working directory (the parameter is optional), or what path form is expected. The param name is somewhat self-descriptive but the description adds nothing.
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 phrase 'Analyze repository structural memory' pairs a verb with an abstract object, but 'structural memory' is not a concrete resource and nothing distinguishes this tool from the siblings, which are all symbol/code lookup tools. An agent cannot predict what this returns or how it differs from find_symbol_definition.
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?
There is no statement of when to use this tool, when not to, or how it relates to the listed siblings (find_symbol_definition, find_symbol_references, resolve_library_docs). Nothing guides selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_library_docsD
Resolve docstrings for modules
| Name | Required | Description | Default |
|---|---|---|---|
| symbol_name | No | ||
| library_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it discloses nothing: not whether it needs the library installed or network access, not whether symbol_name being optional means whole-module resolution, not what is returned. Five words cannot cover a mutation-free but opaque lookup operation.
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?
It is short with no filler, but that brevity reflects under-specification rather than disciplined editing; there is nothing to front-load because nothing substantive is said.
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?
A two-parameter tool with no annotations, no output schema, and 0% schema coverage needs the description to explain inputs and expected returns; the description supplies none of that.
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 description coverage is 0%, so both parameters are undocumented. The word "modules" loosely hints that library_name identifies the module, but symbol_name — optional, and decisive for what gets resolved — is never mentioned in either place.
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?
"Resolve docstrings for modules" only rephrases the tool name with a synonym swap; "resolve" is ambiguous (fetch? render? look up?). It gives no basis for distinguishing this from siblings like find_symbol_definition or find_symbol_references.
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?
There is no statement of when to use this tool, what prerequisites exist, or how it relates to the sibling symbol-lookup tools. An agent must guess from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
surgical_replace_symbolC
Surgically refactor symbol
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes | ||
| new_symbol | Yes | ||
| old_symbol | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. "Refactor" implies code mutation, but the description never states that the file is overwritten, whether all matches or one match is replaced, what happens on ambiguous or zero matches, or whether edits are reversible.
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?
A three-word phrase is not wasteful but is under-specified rather than concise; "surgically" consumes space without conveying behavior. There is no front-loaded statement of what the tool does to the file.
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?
A mutation tool with zero annotations, no output schema, and 0% parameter documentation needs substantially more description than this. An agent has to guess at matching scope, side effects, and return information before it can safely invoke it.
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 description coverage is 0% and all three parameters (old_symbol, new_symbol, file_path) are undocumented. The parameter names hint at an old-to-new replacement in a single file, but the description adds no matching rules, format expectations (fully qualified vs bare names), or scope semantics.
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?
"Refactor" + "symbol" gives a rough verb+resource, but "surgically" is decorative and the phrase never says what actually happens (replacing occurrences of old_symbol with new_symbol in a file). Nothing distinguishes it from sibling find_symbol_references or find_symbol_definition.
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?
There is no when-to-use, when-not-to-use, or alternative routing at all; an agent cannot tell whether to call find_symbol_references first or whether this tool handles all occurrences. The only hint is the word "surgically," which implies precision but not a decision rule.
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.
5 tool updates
v1.2.0- First observed
find_symbol_definition - First observed
find_symbol_references - First observed
project_onboarding_memory - First observed
resolve_library_docs - First observed
surgical_replace_symbol
TDQS
Scored across 5 tools
The first three tools are clearly distinct (definition, references, refactor), and resolve_library_docs is separate. project_onboarding_memory is the only vague one, as it is unclear how it differs from broader repository analysis or symbol lookup.
Most names use snake_case, but the verb patterns are mixed: find_* and resolve_* are clear verb_noun forms, while surgical_replace_symbol uses an adjective and project_onboarding_memory is a noun phrase. This makes the convention inconsistent, though still readable.
Five tools is a well-scoped set for a focused code-intelligence/refactoring server. Each tool appears to target a distinct operation, so the count is appropriate.
The surface covers definition lookup, reference search, symbol replacement, docs resolution, and repo memory. However, common code-intelligence operations like listing symbols, getting file contents, diagnostics, or rename previews are missing, leaving notable gaps for agents.
Maintenance
Related MCP Connectors
Code intelligence for coding agents: semantic, AST, graph, and full-text search. 279+ languages.
Code intelligence platform for AI agents. 20 tools for architecture, security & impact analysis.
Codebase intelligence for AI agents — dead code, blast radius, ownership.
Give your AI agent a persistent map of your project's structure, dependencies, and bugs.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceProvides a semantic understanding of your codebase by parsing with tree-sitter and building a graph of symbols and dependencies. Enables AI assistants to navigate code, analyze changes, and discover architecture using 18 tools with minimal context overhead.3 npm1MIT
- AlicenseNot gradedqualityDmaintenanceEnables LLM agents to efficiently understand and navigate a codebase by providing semantic search over symbols and a reference graph, replacing expensive grep/glob calls with structured tools like definition lookup, caller/callee queries, and change-impact analysis.3MIT
- FlicenseNot gradedqualityAmaintenanceProvides efficient code navigation and graph-based analysis for AI agents, enabling symbol resolution, callers, implementations, and type schemas with minimal token usage.-
- AlicenseNot gradedqualityAmaintenanceIndexes a codebase into a symbol-level graph and exposes tools for finding symbols, querying relationships, and assessing impact, letting AI coding agents answer structural questions in a single call within a token budget.44 npm4Apache 2.0