toolsmith
Provides codebase intelligence over a Git repository, including code search, file reading, symbol lookup and references, dependency tracing, commit history, and blame information.
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., "@toolsmithfind all references to validate_user in the auth module"
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.
toolsmith
An MCP server that rewrites its own tool surface from usage data, and measures whether that made it better.
The claim, and why it needs a benchmark
"Self-improving" is a phrase that usually means nothing. Something changes, the output looks different, and nobody can say whether it improved. This repository is organized to make that failure impossible: the benchmark is built before the optimizer, results are reported on tasks never used for optimization, and every proposed change is kept only if it survives measurement.
The headline number is tool-selection accuracy on a held-out task set, before and after optimization. If that number does not move, the project's finding is that this approach does not work — which is a result, and it gets reported as one.
Related MCP server: Code Search MCP
What the server does
A tool surface needs to be real to be worth optimizing, so toolsmith serves
codebase intelligence over a Git repository:
Tool | Purpose |
| Content search with path and language filters |
| File contents, optionally a line range |
| Locate a definition by name |
| Where a symbol is used |
| Import and call graph traversal |
| Commit history by message, author, or path |
| Who last changed a line range, and in which commit |
Seven tools with genuinely overlapping purposes — search_code, find_symbol,
and find_references are all "find where a thing is", which is exactly the
ambiguity that makes tool selection hard and therefore worth optimizing.
The three optimizations
Description rewriting. Telemetry records every call: which tool, what arguments, whether it succeeded, and how it failed. A tool that is frequently selected for tasks it cannot serve has a description that overclaims; a tool that is passed over for tasks it handles well has one that underclaims. Both are rewritten, re-benchmarked, and kept only on improvement.
Schema tightening. Parameters that models consistently malform — free-text where an enum belongs, an ambiguous date format, a path that should be repo-relative — get constrained so the mistake becomes unrepresentable rather than merely discouraged.
Macro synthesis. When telemetry shows a call chain recurring — find_symbol
→ read_file → find_references, over and over — a single composite tool is
proposed for it. Fewer round trips, less context consumed, fewer chances to pick
wrong.
What this deliberately does not do
It does not generate or register executable tool code. A server that writes new code for itself and then runs it is a much more interesting demo and a genuinely worse idea: arbitrary generation plus execution, in the component an agent is trusting. Descriptions, schemas, and composition of existing implementations get the result without that.
Measuring
bench/ holds a task suite split into a development half and a held-out half.
Optimization only ever sees development tasks. Reported numbers only ever come
from the held-out half. Overfitting a benchmark and calling it self-improvement
is the failure mode this project exists to avoid.
Stack
Python 3.12, the official MCP Python SDK, claude-opus-5 with adaptive thinking
for rewriting and for benchmark scoring.
Install
uv sync
uv run pytestServing the tools needs only a Git repository to point at. Optimization and
benchmarking need ANTHROPIC_API_KEY.
Status
Under active development. See PLAN.md for the milestone breakdown and
PROGRESS.md for the running log.
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Code intelligence for LLMs. Analyze, search, and retrieve code from any public git repository.
Codebase intelligence for AI agents — dead code, blast radius, ownership.
Code intelligence platform for AI agents. 20 tools for architecture, security & impact analysis.
Code intelligence for coding agents: semantic, AST, graph, and full-text search. 279+ languages.
Related MCP Servers
- FlicenseBqualityDmaintenanceEnables analysis and querying of Git repository content (both public and private) through a unified tool that provides repository summaries, file structures, and full content optimized for LLM consumption.1-
- FlicenseNot gradedqualityDmaintenanceEnables LLMs to perform high-performance code search and analysis across multiple languages using symbol indexing, regex text search, and structural AST pattern matching. It also provides tools for technology stack detection and dependency analysis with persistent caching for optimized performance.8-

Semantic Code Search MCPofficial
FlicenseNot gradedqualityDmaintenanceProvides AI coding agents with structured access to indexed codebases via semantic search, symbol analysis, and file reading tools.12-- 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.9 npm1MIT