SIN-Code MCP Server Builder Skill
A meta-skill MCP server that scaffolds, manages, validates, and publishes MCP servers within the OpenSIN-Code ecosystem. It provides 8 tools:
Scaffold a new MCP server (
mcp_scaffold): Generate a fully structured server from a spec using templates likepython-fastmcp,node-mcp, orgo-mcp.List available templates (
mcp_template_list): View all supported templates with details like language, framework, and entry point.Add a tool to an existing server (
mcp_tool_add): Inject a new tool into an existingmcp_server.pyfile while preserving CoDocs compliance.Generate pytest tests for a tool (
mcp_tool_test): Automatically produce pytest test stubs for a specified tool.Register a server (
mcp_register): Add a server configuration (command, env vars, enabled state) toopencode.json.Validate a server (
mcp_validate): Run static checks on type hints, docstrings, CoDocs compliance, and tool structure.Publish to PyPI or npm (
mcp_publish): Deploy a server package with support for dry-run and TestPyPI modes.Run a quality audit (
mcp_audit): Execute a 47-gateceo-auditwith a configurable profile (QUICKorFULL) and minimum grade threshold.
Click on "Install 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., "@SIN-Code MCP Server Builder Skillscaffold a new python mcp server called my-tool"
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.
Archived on July 28, 2026. This standalone repository is read-only because its functionality moved to OpenSIN-Code/SIN-Code in PR #513.
Use the canonical surface sin mcp-server. The former builder CLI shims and Python namespace sin_mcp_server_builder remain available for compatibility.
⚠️ DEPRECATED — This skill has been merged into sin-code-bundle
As of v0.9.3 (2026-06-06), this standalone skill is now a subcommand of the
sin-code-bundleCLI:
Old
New
standalone skill
sin mcp-serverMigrate now:
pip install --upgrade sin-code-bundleThis repo is archived; no further updates will be made. See issue #29 for the consolidation rationale.
SIN-Code-MCP-Server-Builder-Skill
Meta-skill that scaffolds new MCP servers for the OpenSIN-Code ecosystem. Supports
python-fastmcp,node-mcp, andgo-mcptemplates — 8 FastMCP tools, 113 tests, 100% CoDocs.
Related MCP server: mcp-starter-kit
What it does
The OpenSIN-Code ecosystem runs 30+ MCP servers (sin-websearch, sin-scheduler, sin-marketplace, sin-slash, sin-goal-mode, sin-infisical, …). Every one of them followed the same canonical pattern: pyproject.toml + src/<pkg>/mcp_server.py + tests/ + *.doc.md + ceo-audit.yml. This meta-skill codifies that pattern — give it a name + a list of tools and you get a fully scaffolded, CoDocs-compliant, ceo-audit-ready MCP server in one tool call.
Features
3 templates —
python-fastmcp(FastMCP),node-mcp(official SDK),go-mcp(go-sdk)8 FastMCP tools — scaffold, template_list, add_tool, test, register, validate, publish, audit
113 tests covering scaffolding, template rendering, tool addition, test generation, registration, validation, MCP server
100% CoDocs — every
.pyhas a sibling.doc.md6 bash scripts —
mcp-scaffold.sh,mcp-add-tool.sh,mcp-test.sh,mcp-register.sh,mcp-validate.sh,mcp-publish.shceo-audit workflow with grade gate B
Quick Start
git clone https://github.com/OpenSIN-Code/SIN-Code-MCP-Server-Builder-Skill.git
cd SIN-Code-MCP-Server-Builder-Skill
pip install -e ".[dev]"Run the MCP server
sin-mcp-server-builder-mcp
# or
python -m sin_mcp_server_builder.mcp_serverScaffold a new MCP server
./scripts/mcp-scaffold.sh -n "My Tool" -d "Does cool things" -T python-fastmcp -o "do_x,do_y"Validate a freshly scaffolded server
./scripts/mcp-validate.sh ./my-new-toolMCP Tools
Tool | Purpose |
| Scaffold a new MCP server from a spec |
| List available templates |
| Add a new tool to an existing MCP server (preserves CoDocs) |
| Generate pytest tests for a tool |
| Register the server in |
| Validate tools (type hints, docstrings, CoDocs) |
| Publish to PyPI / npm |
| Run ceo-audit (47 quality gates) |
Architecture
MCP Client (OpenCode, Claude, …)
↓ FastMCP (stdio)
mcp_server.py
↓
┌──────────────────────────────────────────────┐
│ Scaffolder │ ToolAdder │ TestGenerator │
│ Templates │ Registrar │ Validator │
│ Publisher │ Auditor │
└──────────────────────────────────────────────┘
↓
┌──────────────────────────────────────────────┐
│ python-fastmcp / node-mcp / go-mcp templates │
│ (CoDocs + ceo-audit.yml + tests + scripts) │
└──────────────────────────────────────────────┘Project Structure
SIN-Code-MCP-Server-Builder-Skill/
├── src/sin_mcp_server_builder/
│ ├── __init__.py — Package entry, public API
│ ├── mcp_server.py — FastMCP server (8 tools)
│ ├── scaffolder.py — Scaffold new servers from a spec
│ ├── templates.py — Jinja2 engine + template registry
│ ├── tool_adder.py — Add tools to existing servers
│ ├── test_gen.py — Generate pytest tests
│ ├── registrar.py — Update opencode.json
│ ├── validator.py — Static validator (47 gates subset)
│ ├── publisher.py — PyPI / npm publish
│ └── auditor.py — ceo-audit runner
├── templates/
│ ├── python-fastmcp/ — Python + FastMCP
│ ├── node-mcp/ — Node.js + @modelcontextprotocol/sdk
│ └── go-mcp/ — Go + go-sdk
├── scripts/ — Bash CLI wrappers
├── tests/ — 113 tests
├── .github/workflows/ceo-audit.yml
├── pyproject.toml
├── README.md
├── SKILL.md
└── AGENTS.mdTesting
pytest -q
pytest --cov=src/sin_mcp_server_builder --cov-report=term-missingCoDocs
Every .py file has a sibling .doc.md companion. Run sin codocs check to verify.
CI
The ceo-audit.yml workflow runs on every push to main and:
Installs the package + dev deps
Runs
pytest -qLints with
black+ruffType-checks with
mypyRuns
sin ceo-audit run . --profile=QUICK --grade=B
License
MIT — OpenSIN-Code
Available Tools
8 toolsmcp_auditC
Run a ceo-audit (47 quality gates) on a new MCP server.
| Name | Required | Description | Default |
|---|---|---|---|
| grade | No | Minimum acceptable grade (default: B). | B |
| profile | No | Audit profile — `QUICK` or `FULL` (default: QUICK). | QUICK |
| project_dir | Yes | Path to the project root. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It only states it runs an audit with 47 gates, but does not reveal if it is read-only, modifies files, requires permissions, or has side effects. This is inadequate for a tool that likely performs checks and may produce output.
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 that immediately conveys the core purpose. It is front-loaded and efficient, though it could be slightly expanded without losing conciseness.
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?
Despite having an output schema (not shown), the description lacks sufficient context about what the audit entails, what the 47 gates check, what the grade means, and how to interpret the results. For a complex tool, this is incomplete.
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%, with each parameter having a clear description (grade, profile, project_dir). The tool description does not add additional meaning beyond what the schema already provides, so baseline score of 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?
The description clearly states the verb 'run' and the resource 'ceo-audit on a new MCP server', and adds specificity by mentioning '47 quality gates'. It distinguishes from sibling tools like mcp_validate, which likely does schema or syntax validation rather than a comprehensive audit.
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 provides no guidance on when to use this tool versus alternatives. It implies it is for new servers, but does not give explicit context, prerequisites, or exclusions, which is insufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mcp_publishB
Publish an MCP server to PyPI (Python) or npm (Node).
| Name | Required | Description | Default |
|---|---|---|---|
| test | No | If True, publish to TestPyPI (Python only). | |
| dry_run | No | If True, do not actually upload (default: True for safety). | |
| registry | No | Optional npm registry URL (Node only). | |
| template | No | One of `python-fastmcp`, `node-mcp`, `go-mcp`. | python-fastmcp |
| project_dir | Yes | Path to the project root. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It only says 'publish' but does not mention that it requires a project directory, has safety defaults (dry_run defaults true), or that it is a potentially destructive upload 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?
The description is a single sentence, which is concise. However, it may be too terse for a tool with 5 parameters, but it still meets the standard for conciseness.
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 tool's complexity (5 parameters, multiple registries, optional dry_run), the description lacks details on workflow, template usage, or what happens on success/failure. Although an output schema exists, the description does not explain return values or 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 input schema provides full descriptions for all 5 parameters (100% coverage), so the description adds no extra meaning. Baseline score of 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?
The description clearly states the verb 'Publish' and the resource 'MCP server' with specific targets (PyPI or npm), distinguishing it from sibling tools like mcp_register or mcp_scaffold.
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 like mcp_register, or when not to use it. The description is too brief to provide context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mcp_registerB
Register a new MCP server in opencode.json.
| Name | Required | Description | Default |
|---|---|---|---|
| env | No | JSON object of env vars to set. | {} |
| name | Yes | Server name (used as the mcp section key). | |
| command | Yes | Space-separated command + args, e.g. "uvx my-tool-mcp". | |
| enabled | No | Whether the server starts enabled. | |
| config_path | No | Optional path to opencode.json (default: auto-discover). |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must disclose behavior. It only states the action, omitting side effects (modifies opencode.json), permission needs, error handling, or what happens on duplicate registration.
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, directly to the point with no filler. Optimal conciseness.
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?
Has output schema (though not shown), so return values need not be described. However, the tool is simple but lacks mention of config file mutation or default behavior, which is borderline adequate.
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% (all 5 parameters have descriptions in the schema). The tool description adds no extra semantic value beyond the schema, meeting the baseline of 3.
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 'Register a new MCP server in `opencode.json`', with a specific verb and resource. It is not a tautology, but does not explicitly differentiate from sibling tools like mcp_publish or mcp_validate, which could cause slight ambiguity.
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., mcp_scaffold, mcp_tool_add). No context on prerequisites or when to avoid using it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mcp_scaffoldB
Scaffold a new MCP server from a spec.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Human-readable name (e.g. "My Cool Tool"). | |
| tools | No | Comma-separated tool names (default: "ping"). | ping |
| target | No | Output directory (must be empty). | ./out |
| template | No | One of `python-fastmcp`, `node-mcp`, `go-mcp`. | python-fastmcp |
| description | Yes | One-line description for README/pyproject. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility for behavioral disclosure. It fails to mention side effects (e.g., file generation), idempotency, required permissions, or that the target directory must be empty (a constraint present in the schema). The output schema exists but is not referenced. The description is too minimal to inform the agent of behavioral traits.
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 at eight words. It is front-loaded and contains no filler. However, it may be overly terse, sacrificing completeness for brevity. Slightly more detail would not harm conciseness.
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?
For a tool with five parameters and an output schema, the description is insufficient. It does not explain what 'scaffold' entails (e.g., generating a project structure), what the required 'spec' is (name and description serve as spec?), or how the template parameter affects behavior. The output schema exists but is ignored. The description leaves significant context for the agent to infer.
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%, so each parameter is described in the schema. The tool description adds no extra semantics beyond what is in the schema. It neither repeats nor enhances parameter understanding, which is acceptable given high coverage, but it misses an opportunity to explain parameter relationships (e.g., how template affects scaffolded output).
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 'Scaffold a new MCP server from a spec' uses a specific verb 'scaffold' and clearly identifies the resource (new MCP server) and the source (a spec). It distinguishes this tool from siblings like audit, publish, or validate, which are different operations. The purpose is evident and unambiguous.
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 usage guidance is provided. The description does not indicate when to use this tool, what prerequisites exist (e.g., a spec file), or how it compares to alternatives like mcp_validate or mcp_template_list. An agent would not know when to choose this over sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mcp_template_listA
List available MCP server templates.
Returns:
JSON array of {name, language, framework, entry_point, ...}.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | 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. It states the tool returns a JSON array, which is read-like behavior. However, it does not explicitly confirm it is read-only or mention side effects, permissions, or limits. The behavior is simple enough that a 3 is adequate.
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 at two sentences, front-loaded with the primary action, and includes the return type. Every sentence is necessary and efficient.
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?
For a tool with no parameters, an output schema, and a simple listing purpose, the description is complete. It explains what is returned and is sufficient for an agent to understand the tool's functionality.
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 tool has no parameters, so baseline per rules is 4. The description does not need to add parameter detail, but it does clarify the output format, which is helpful.
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's purpose: 'List available MCP server templates.' The verb 'List' and resource 'available MCP server templates' are specific and distinct from sibling tools like mcp_audit, mcp_publish, etc., which have different actions.
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 versus alternatives. Usage is implied (when you need to see templates), but there are no conditions, exclusions, or comparisons to siblings provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mcp_tool_addB
Add a new tool to an existing MCP server.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Python statements for the tool body. | result = {"ok": True} |
| params | No | JSON list of [name, type, default] tuples. | [] |
| tool_name | Yes | Snake-case tool name (valid Python identifier). | |
| description | Yes | One-line docstring for the tool. | |
| server_path | Yes | Path to the `mcp_server.py` file. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits. It does not mention side effects like overwriting existing tools, required permissions, or the need to restart the server. The action 'add' implies mutation 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 a single sentence, concise and front-loaded. It is efficient but very minimal; could include more context without sacrificing clarity.
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 5 parameters and an output schema, but the description does not explain return values or side effects. Given no annotations, critical context like error handling or state changes is missing, making it incomplete for a mutation tool.
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 100%, so the description provides no additional value beyond the schema. Baseline of 3 is appropriate as the description does not enhance understanding of parameters.
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 it adds a new tool to an MCP server, using a specific verb and resource. This distinguishes it from sibling tools like mcp_tool_test (testing) and mcp_validate (validation).
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 implies the tool is used for adding tools, but provides no explicit guidance on when to use it vs alternatives (e.g., mcp_scaffold for creating servers). No exclusions or context are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mcp_tool_testB
Generate pytest tests for an MCP tool.
| Name | Required | Description | Default |
|---|---|---|---|
| tool_name | Yes | Name of the tool to test. | |
| output_path | No | Optional path to append the generated tests to. | |
| server_path | Yes | Path to the `mcp_server.py` file. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose side effects (e.g., file creation), error conditions, or behavioral traits beyond 'generate tests'. This is insufficient for a tool with no annotation support.
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, concise sentence that communicates the core purpose without unnecessary words. It is front-loaded and efficiently conveys the tool's function.
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?
Despite the presence of an output schema, the description does not explain the return value or provide context about test generation behavior (e.g., test style, integration with pytest). The minimal description leaves gaps for an agent using this tool.
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 documents all three parameters with descriptions (100% coverage). The description adds no additional meaning beyond the schema, so the baseline score of 3 applies.
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 ('Generate') and the resource ('pytest tests for an MCP tool'). It is specific and distinct from sibling tools like mcp_audit or mcp_validate, which serve different purposes.
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 implies using the tool when needing to create tests, but does not provide explicit guidance on when to choose this tool over alternatives, prerequisites, or context for invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mcp_validateB
Validate an MCP server (tools, type hints, docstrings, CoDocs).
| Name | Required | Description | Default |
|---|---|---|---|
| project_dir | Yes | Path to the project root. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries full burden. It only states the purpose without disclosing behaviors like side effects, output format, or failure handling. This is insufficient for an agent to anticipate the tool's actions.
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 concise sentence. It is front-loaded with the main action, but could include more detail without being verbose. No waste.
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?
Despite the existence of an output schema, the description lacks details on what validation entails (e.g., checking for errors, linting) and does not differentiate from sibling tools like mcp_audit, which may perform similar functions. The agent lacks context to decide when to invoke this tool.
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 100% for the single parameter ('Path to the project root'). The description adds no additional meaning beyond the schema, meeting the baseline but not exceeding it.
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 verb 'Validate' and the resource 'MCP server', specifying the validation covers tools, type hints, docstrings, and CoDocs. This distinguishes it from sibling tools like mcp_audit and mcp_publish.
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 (e.g., mcp_audit). The description does not include when-not-to-use or prerequisite context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool targets a distinct action in the MCP server lifecycle: scaffolding, tool addition, validation, audit, testing, publishing, registration, and template listing. No two tools have overlapping purposes.
All tool names follow a consistent 'mcp_verb_noun' pattern using lowercase snake_case, e.g., mcp_scaffold, mcp_tool_add, mcp_publish. The convention is uniform across all 8 tools.
With 8 tools, the set is well-scoped for a server builder skill. It covers essential operations without oversaturating the interface, making it manageable for an agent.
The tool set covers the core workflow: scaffold, add tools, validate, audit, test, publish, and register. Minor gaps like lacking a tool removal or update mechanism exist but do not hinder the primary use case.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for progressive tool usage at any scale (see https://klavis.ai)
An MCP server that let you interact with Cycloid.io Internal Development Portal and Platform
MCP Spec Compliance MCP — audits any MCP server.json against the official Model Context Protocol
Scan any MCP server for tool-poisoning, security, auth & license. Trust score before install.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA production-ready Python scaffold for building Model Context Protocol (MCP) servers using FastMCP. It provides a structured framework for developers and AI agents to rapidly develop, test, and manage custom tools and workflows.1
- AlicenseNot gradedqualityCmaintenanceA scaffolding toolkit to generate clean architecture MCP servers with tool scaffolding and function inspection.Apache 2.0
- AlicenseNot gradedqualityCmaintenanceAn MCP server framework enabling standardized tool registration, discovery, and invocation over JSON-RPC 2.0, with support for InProcess, SSE, and WebSocket transports, plus built-in tools such as calculator, text processor, and JSON formatter.MIT
- AlicenseNot gradedqualityBmaintenanceEnables developers to scaffold secure-by-default MCP servers with deny-all permissions, typed tool stubs, and pre-wired audit hooks, while enforcing security posture through CI.115MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/OpenSIN-Code/SIN-Code-MCP-Server-Builder-Skill'
If you have feedback or need assistance with the MCP directory API, please join our Discord server