Skip to main content
Glama

MCP 服务器启动器

使用 TypeScript 构建模型上下文协议 (MCP) 服务器的生产就绪入门模板。

🚀 快速入门

  1. 克隆存储库

  2. 安装依赖项:

    bun install

Related MCP server: MCP Server Starter

✨ 主要特点

  • 用于快速测试和开发的 Bun

  • Biome 用于 linting 和格式化

  • 使用标准版本进行自动化版本管理

  • 干净、可维护的项目结构

📂 项目结构

mcp-starter/
├── src/
│   ├── tools/          # MCP tools implementation
│   ├── utils/          # Shared utilities
│   ├── main.ts         # Server entry point
│   └── types.ts        # Shared type definitions
├── tests/              # Test files
├── biome.json          # Linting configuration
├── tsconfig.json       # TypeScript configuration
└── package.json        # Project dependencies

⚙️ 配置

创建新工具

该项目包括一个帮助创建新 MCP 工具的脚本:

bun run scripts/create-tool.ts <tool-name>

这将:

  1. src/tools/<tool-name>下创建一个新的工具目录

  2. 生成基本工具结构包括:

    • index.ts(主要实现)

    • schema.ts(工具参数的 JSON 架构)

    • test.ts(测试文件)

  3. 更新工具索引文件以导出新工具

例子:

bun run scripts/create-tool.ts weather

🛠️ 开发

  • 运行测试bun test

  • 格式代码bun run format

  • Lint 代码bun run lint

  • 构建项目bun run build

要将您的开发 MCP 服务器添加到 Claude Desktop:

  1. 构建项目:

    bun run build
  2. 添加到您的 Claude 桌面配置:

    // You only need the argument if you need to pass arguments to your server
    {
      "mcpServers": {
        "your-server-name": {
          "command": "node",
          "args": ["/path/to/your/project/dist/main.js", "some_argument"]
        }
      }
    }

📜 版本管理

本项目使用standard-version进行自动化版本管理。运行bun run release即可创建新版本。

提交消息格式

  • feat :新功能(提升小版本)

  • fix :错误修复(补丁版本)

  • BREAKING CHANGE :重大变更(重大版本更新)

📦 发布到 npm

  1. 确保您已登录 npm:

    npm login
  2. 构建项目:

    bun run build
  3. 发布包:

    npm publish

在发布新版本之前,请记住使用bun run release更新版本号。

从 npm 安装(发布后)

添加到您的 Claude 桌面配置:

// You only need the argument if you need to pass arguments to your server
{
  "mcpServers": {
    "your-server-name": {
      "command": "npx",
      "args": ["-y", "your-package-name", "some_argument"]
    }
  }
}

Available Tools

1 tool
hello_toolD

Hello tool

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesThe name of the person to greet

TDQS

D1.8/5.0
Behavior1/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 of behavioral disclosure. 'Hello tool' reveals nothing about whether this is a read/write operation, what permissions might be required, what side effects occur, or what the response format looks like. The description fails to provide any behavioral context beyond the minimal implication from the name.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

While technically concise with only two words, this represents under-specification rather than effective conciseness. The description doesn't contain enough information to be useful, and the single phrase doesn't earn its place by providing meaningful guidance to an AI agent.

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 that there are no annotations and no output schema, the description should provide more complete context about what this tool does and what to expect. A single-parameter tool with 100% schema coverage could get by with minimal description, but 'Hello tool' fails to explain the basic purpose and behavior adequately for an AI agent.

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 schema already fully documents the single 'name' parameter. The description adds no additional parameter information beyond what's in the schema. According to scoring rules, when schema coverage is high (>80%), the baseline is 3 even with no parameter information in the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Hello tool' is essentially a tautology that restates the tool name without specifying what it does. It doesn't provide a clear verb+resource combination or explain the actual function. While the name suggests greeting functionality, the description fails to articulate this explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides absolutely no guidance about when to use this tool, what context it's appropriate for, or any prerequisites. There are no sibling tools mentioned, but even basic usage context is completely missing from the description text.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • First observedhello_tool

TDQS

C2.2/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of ambiguity or overlap between tools. The tool 'hello_tool' stands alone with a distinct purpose, making it impossible for an agent to misselect among alternatives.

Naming Consistency5/5

A single tool inherently follows a consistent naming pattern, as there are no other tools to compare it against. The name 'hello_tool' uses snake_case and a clear verb-noun structure, which would be consistent if more tools were added.

Tool Count2/5

A single tool is too few for most server purposes, as it limits functionality and suggests an incomplete or trivial implementation. For a server named 'MCP Server Starter', which implies a foundational or example setup, one tool feels insufficient to demonstrate meaningful capabilities.

Completeness1/5

With only a 'hello_tool', the server lacks any substantial coverage of a domain. There are obvious gaps, as no CRUD operations, lifecycle management, or core workflows are provided, making it severely incomplete for any practical use case.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    D
    maintenance
    A production-ready template for building Model Context Protocol servers in TypeScript, offering fast development with Bun, Biome linting, and automated version management.
    1
    22 npm
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    A TypeScript template for building Model Context Protocol servers that provides a structured foundation with automated tools, testing, and synchronization capabilities.
    2 npm
    -