MCP server for persistent AI coding assistant memory with local RAG (Retrieval-Augmented Generation)
Nexus-Dev has 29 tools with basic structure but significant definition quality gaps. Tool naming follows verb conventions adequately (search_, get_, list_, set_, record_, invoke_, index_, find_). However, descriptions are inconsistent in depth, many are generic and under 50 characters, failing to explain WHEN to use each tool or WHY it differs from similar tools. Parameter descriptions are present but often minimal (e.g., 'Search query string', 'Maximum number of results to return'). Input schemas are visible and properly typed, but lack constraint documentation (no enums, no min/max ranges despite numeric parameters like 'limit'). Error handling is not evident in tool definitions, no indication of retryability, recovery paths, or actionable failure modes. Output schemas are not documented in the provided source. Composition issues: multiple search tools (search_knowledge, search_docs, search_lessons, search_code, search_tools, smart_search) without clear differentiation in their descriptions, creating ambiguity about which to use. 'invoke_tool' is a potentially dangerous meta-tool with no visible dry-run or confirmation mechanism despite being marked IRREVERSIBLE. Overall, the server is functional but would not pass code review from a principal tool engineer.
Ask a specific agent for help with a task
Find all callers of a specific function or method
Find implementations of an interface or abstract class
Find entities (functions, classes, etc.) related to a given entity
Get the system prompt for the MCP gateway
Get comprehensive context about the project
Get the recent development context and conversation history
Get search suggestions based on current context
Multiple search tools with overlapping functionality lack clear differentiation. search_knowledge, search_docs, search_lessons, search_code, search_tools, and smart_search all perform similar operations but descriptions do not explain when to use each variant or how they differ.
invoke_tool is marked IRREVERSIBLE but has no visible dry-run mode, confirmation step, or safety mechanism to prevent accidental irreversible operations on backend systems.
Numeric parameter 'limit' appears in 6+ tools but lacks min/max constraints in descriptions. No indication of whether limits are 0-unbounded, 1-100, or server-enforced. LLMs may pass absurd values.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 51 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 14 | 1.25.0+ | v1 |
Get the current session context
Get the full JSON schema for a specific MCP tool
Import GitHub issues into the knowledge base
Manually index a file or directory into the knowledge base
Execute a tool on a backend MCP server through the Nexus-Dev gateway
List all available AI agents
List all configured MCP servers and their status
Record an implementation detail or solution
Record an insight about the codebase
Record a lesson learned during development
Refresh and reload all available agents
Search source code in the indexed codebase
Search for dependencies and imports in the codebase
Search documentation and markdown files in the knowledge base
Search recorded implementations
Search recorded insights
Search the indexed knowledge base for relevant code, documentation, and insights
Search recorded lessons and insights from previous development sessions
Find the RIGHT tool from other MCP servers to complete a task. First step when needing to do something outside Nexus-Dev.
Set context for the current development session
Intelligent search that combines multiple search strategies
Tool descriptions are too brief (40-60 chars) and lack WHEN/WHY guidance. Examples: 'List all configured MCP servers and their status' (54 chars) does not explain when to call this vs alternatives, what context it provides, or common use patterns.
Tools with empty input schemas (no parameters) lack descriptions of their behavior and side effects. get_session_context, list_servers, list_agents, get_project_context have no input params but descriptions do not clarify whether they read state, compute on-the-fly, or have prerequisites.
No output schemas documented in tool definitions. LLMs cannot infer what fields to expect, what types are returned, or what data is available for downstream tool chaining. This forces trial-and-error calls and wastes tokens.
Error handling behavior is not documented. No indication of which tools are retryable, which errors are transient, or what recovery steps an LLM should take if a search returns no results or a tool invocation fails.