Install
$ agentstack add mcp-phcp-tech-toolmaker-docs ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Toolmaker Agent
An AI-augmented requirements and system-design workbench: a Go backend with an embedded React UI for managing Products, Features, Requirements, and UML/4+1-view system-design diagrams, paired with an LLM-driven conversational agent and a Model Context Protocol (MCP) server so both humans and coding agents (e.g. Claude Code) can drive the same data model.
What this is
Toolmaker Agent is a single self-contained executable: a Go REST API with a layered architecture (adapter → service → infra/dao → domain/model), SQLite storage, and the compiled React frontend embedded directly into the binary via go:embed. Open one port and you get the full workbench — no separate frontend deployment, no external database to provision.
On top of the plain CRUD workbench, it adds two AI-native ways to manipulate the same data:
- Conversational agent — a chat panel backed by
trpc-agent-gothat can create/update/delete Products, Features, Requirements, and UML diagrams through natural language, using a propose → confirm flow for any write (the model proposes the action, a human confirms it before it executes). - MCP Server — a Model Context Protocol endpoint (official
modelcontextprotocol/go-sdk) exposing 20 tools for full CRUD over the same four entities, so a coding agent like Claude Code can manage requirements directly from the terminal. Unlike the chat's propose/confirm tools, MCP tools are direct tools — they execute immediately, with no confirmation step.
Key features
- Product / Feature / Requirement / UML CRUD, each with optimistic concurrency (a
revisionfield, checked on every update) and full-row responses on create/update (the backendRETURNINGs the complete post-write row so the client never has to guess at server-computed fields likeupdatedAtorrevision).
- 4+1 system-design views rendered as Mermaid diagrams (flowcharts, sequence, C4/architecture, state, ER, and more), editable per Feature. Any diagram can be exported client-side as a PNG or SVG image (PNG rasterized at 3x scale for sharp output) directly from its detail panel — no server round trip.
- LLM chat agent with:
- A propose-confirm tool-calling flow for every write (
propose_create_*/propose_update_*/propose_delete_*), so the model never mutates data without a human in the loop. - SSE-streamed responses.
- Persisted, per-conversation history, automatically summarized once it grows past a threshold (rolling summary folds everything except the most recent turns, keeping long sessions within the model's context window).
- Pluggable multi-provider configuration — OpenAI, Anthropic, Gemini, DeepSeek, Ollama, LM Studio, Hunyuan, Moonshot AI, Qwen, GLM, MiniMax. Managed either by hand-editing a local, git-ignored
config/settings.json(never committed; a documented.exampletemplate is checked in instead), or entirely from the browser via the Settings page, which lists every configured provider and lets you add, edit, activate, or delete one without touching a file.
- MCP Server — 20 tools (5 each for Product/Feature/Requirement/UML: create/query/query-list/update/delete), Streamable HTTP transport, so any MCP-aware client can query or edit the requirements model directly.
- Embedded single-binary deployment — the compiled frontend is staged into
web/distand embedded into the Go binary; the result is one executable that serves both the API and the UI. - Free-edition auth bypass — out of the box, every request is authenticated as a fixed admin identity (no login flow), so the workbench is usable immediately in a local/demo environment. (Not intended as-is for a multi-tenant or internet-facing deployment.)
Tech stack
| Layer | Technology | |---|---| | Backend language/runtime | Go 1.26 | | HTTP framework | Gin | | Database | SQLite via dbsqlx (raw SQL, no ORM); schema applied from config/schema_sqlite.sql | | Agent/LLM orchestration | trpc-agent-go | | MCP | Official modelcontextprotocol/go-sdk, Streamable HTTP transport | | Auth/policy | Casbin (via common-library-golang/auth) | | CLI | Cobra | | Frontend | React 19, TypeScript, Vite | | Frontend state | TanStack Query v5 | | Frontend routing | react-router-dom v7 | | Styling | Tailwind CSS | | Diagrams | Mermaid (+ Cytoscape, KaTeX for advanced diagram types) |
MCP Server
Register the server with an MCP-aware client (e.g. Claude Code):
claude mcp add --transport http toolmaker-agent http://127.0.0.1:8080/agtapi/v2/mcp
20 tools are exposed, 5 for each of Product / Feature / Requirement / UML:
| Operation | Product | Feature | Requirement | UML | |---|---|---|---|---| | Create | create_product | create_feature | create_requirement | create_uml | | Get one | query_product | query_feature | query_requirement | query_uml | | List | query_product_list | query_feature_list | query_requirement_list | query_uml_list | | Update | update_product | update_feature | update_requirement | update_uml | | Delete | delete_product | delete_feature | delete_requirement | delete_uml |
Entities are addressed by a stable, per-parent OID (not the internal database id), and Requirement/Feature/UML lookups take a productOid (Requirement additionally accepts an optional featureOid). MCP tools execute immediately against live data — there is no propose/confirm step here (that's specific to the web chat's tool-calling flow).
License
Apache License 2.0 — see [LICENSE](./LICENSE).
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: phcp-tech
- Source: phcp-tech/toolmaker-docs
- License: Apache-2.0
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.