Skip to main content
Glama
OpenSIN-Code

SIN-Code MCP Server Builder Skill

by OpenSIN-Code
IMPORTANT

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-bundle CLI:

Old

New

standalone skill

sin mcp-server

Migrate now: pip install --upgrade sin-code-bundle

This repo is archived; no further updates will be made. See issue #29 for the consolidation rationale.

SIN-Code-MCP-Server-Builder-Skill

MCP CEO Audit CoDocs

Meta-skill that scaffolds new MCP servers for the OpenSIN-Code ecosystem. Supports python-fastmcp, node-mcp, and go-mcp templates — 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 templatespython-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 .py has a sibling .doc.md

  • 6 bash scriptsmcp-scaffold.sh, mcp-add-tool.sh, mcp-test.sh, mcp-register.sh, mcp-validate.sh, mcp-publish.sh

  • ceo-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_server

Scaffold 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-tool

MCP Tools

Tool

Purpose

mcp_scaffold

Scaffold a new MCP server from a spec

mcp_template_list

List available templates

mcp_tool_add

Add a new tool to an existing MCP server (preserves CoDocs)

mcp_tool_test

Generate pytest tests for a tool

mcp_register

Register the server in opencode.json

mcp_validate

Validate tools (type hints, docstrings, CoDocs)

mcp_publish

Publish to PyPI / npm

mcp_audit

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.md

Testing

pytest -q
pytest --cov=src/sin_mcp_server_builder --cov-report=term-missing

CoDocs

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:

  1. Installs the package + dev deps

  2. Runs pytest -q

  3. Lints with black + ruff

  4. Type-checks with mypy

  5. Runs sin ceo-audit run . --profile=QUICK --grade=B

License

MIT — OpenSIN-Code

Available Tools

8 tools
mcp_auditC

Run a ceo-audit (47 quality gates) on a new MCP server.

ParametersJSON Schema
NameRequiredDescriptionDefault
gradeNoMinimum acceptable grade (default: B).B
profileNoAudit profile — `QUICK` or `FULL` (default: QUICK).QUICK
project_dirYesPath to the project root.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
testNoIf True, publish to TestPyPI (Python only).
dry_runNoIf True, do not actually upload (default: True for safety).
registryNoOptional npm registry URL (Node only).
templateNoOne of `python-fastmcp`, `node-mcp`, `go-mcp`.python-fastmcp
project_dirYesPath to the project root.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
envNoJSON object of env vars to set.{}
nameYesServer name (used as the mcp section key).
commandYesSpace-separated command + args, e.g. "uvx my-tool-mcp".
enabledNoWhether the server starts enabled.
config_pathNoOptional path to opencode.json (default: auto-discover).

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesHuman-readable name (e.g. "My Cool Tool").
toolsNoComma-separated tool names (default: "ping").ping
targetNoOutput directory (must be empty)../out
templateNoOne of `python-fastmcp`, `node-mcp`, `go-mcp`.python-fastmcp
descriptionYesOne-line description for README/pyproject.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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, ...}.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNoPython statements for the tool body.result = {"ok": True}
paramsNoJSON list of [name, type, default] tuples.[]
tool_nameYesSnake-case tool name (valid Python identifier).
descriptionYesOne-line docstring for the tool.
server_pathYesPath to the `mcp_server.py` file.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
tool_nameYesName of the tool to test.
output_pathNoOptional path to append the generated tests to.
server_pathYesPath to the `mcp_server.py` file.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
project_dirYesPath to the project root.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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

A3.6/5.0
Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness4/5

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

ActivitySlowing
ResponsivenessSyncing

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

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    A 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
  • A
    license
    Not graded
    quality
    C
    maintenance
    A scaffolding toolkit to generate clean architecture MCP servers with tool scaffolding and function inspection.
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    An 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
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables 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.
    115
    MIT

Latest Blog Posts

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