Skip to main content
Glama
psaboia
by psaboia

MCP サーバー プレイグラウンド

鍛冶屋のバッジ

このリポジトリは、TypeScriptで構築されたMCPサーバーを試すためのプレイグラウンドです。MCPサーバー構築に関するチュートリアルとビデオのカスタマイズ版であり、学習リソースとしてだけでなく、Calude DesktopおよびCursor IDEとの統合をテストするためのプラットフォームとしても活用できます。

背景

このプロジェクトは、以下の資料に基づいています。

オリジナルのチュートリアルは私が拡張した基盤を提供してくれました。チュートリアルの例に加えて、ツールや機能を追加し、このコードをMCPサーバーの実験のための堅牢なプレイグラウンドへと進化させていく予定です。

Related MCP server: mcp-boilerplate

特徴

  • TypeScript ベースのサーバー: TypeScript を活用して構造とエラー チェックを改善します。

  • **モジュラー設計:**新しいコマンド、機能、統合により簡単に拡張できます。

  • 統合対応: Calude Desktop および Cursor IDE と連携して動作するように設計されており、開発エクスペリエンスが向上します。

  • **拡張可能なプレイグラウンド:**チュートリアルの例以外にも追加のツールや変更を試すことができるサンドボックス環境。

はじめる

前提条件

  • Node.js (v12以上)

  • npm(または好みに応じてYarn)

  • TypeScript(グローバルにインストールされていない場合)

Smithery経由でインストール

Smithery経由で Claude Desktop 用の MCP Server Playground を自動的にインストールするには:

npx -y @smithery/cli install mcp-server-playground --client claude

インストール

  1. リポジトリをクローンします。

    git clone <repo_url>
    cd mcp-server-playground
  2. 依存関係をインストールします:

    npm install
  3. プロジェクトをビルドします。

    npm run build

構成

このプロジェクトでは環境変数を使用します。設定オプションを設定するには、 .envファイルを作成してください。将来、サンプルファイル( .env.example )が提供された場合は、テンプレートとして使用してください。

発達

  • IDE統合:

    • Cursor IDE および Calude Desktop とスムーズに連携するように設計されています。

    • これらの IDE でサポートされている組み込みツールと拡張機能を活用して、生産性を最大化します。

  • プロジェクトの拡張:

    • 新しいコマンドや統合を自由に追加したり、既存の機能を変更したりすることができます。

    • サーバーのモジュール構造により、追加のツールや機能を簡単にプラグインできます。

プロジェクト構造

mcp-server-playground/
├── src/                # Source code directory
│   └── index.ts       # Main server implementation
├── build/             # Compiled JavaScript files
├── package.json       # Project dependencies and scripts
├── tsconfig.json     # TypeScript configuration
└── README.md         # Project documentation

利用可能なスクリプト

  • npm run build - TypeScriptコードをコンパイルし、適切な権限を設定します

  • npm run prepare - ビルド スクリプトを実行します (git フックに便利です)

  • npm run watch - TypeScript ファイルの変更を監視します

  • npm run inspector - MCPインスペクターツールを実行します

貢献

貢献を歓迎します!提案、改善、または新しい統合がある場合は、リポジトリをフォークして、変更を加えたプルリクエストを作成してください。

参考文献

ライセンス

このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。

注記

このプロジェクトは、MCPサーバー向けの様々な適応と統合をテストすることを目的としたサンドボックス環境です。新しいツールやアイデアが開発されるにつれて、更新と拡張が行われます。

ロードマップ

  • [ ] チュートリアルの例以外にもツール統合を実装する

  • [ ] 各ツールの包括的なドキュメントを追加する

  • [ ] Calude Desktopとのサンプル統合を作成する

  • [ ] カーソルIDE統合用のカスタムツールの開発

  • [ ] テストフレームワークと例を追加する

Available Tools

2 tools
calculate_sumB

Add two numbers together

ParametersJSON Schema
NameRequiredDescriptionDefault
aYes
bYes

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 carries the full burden of behavioral disclosure. It states the action ('Add') but does not cover traits like error handling, performance, or side effects. For a simple tool, this is a gap, though not severe, as addition is a basic operation with minimal behavioral complexity.

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, direct sentence with no wasted words, making it highly concise and front-loaded. It efficiently communicates the core function without unnecessary elaboration.

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?

Given the tool's low complexity (simple addition with two parameters), no annotations, and no output schema, the description is adequate but minimal. It covers the basic purpose but lacks details on usage, behavior, or output, making it incomplete for more nuanced agent decisions.

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 description mentions 'two numbers', which aligns with the two parameters 'a' and 'b' in the schema, but schema description coverage is 0%, so no details are provided in the schema. The description adds minimal semantics by indicating the parameters are numbers for addition, but does not explain their roles or constraints beyond that.

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 'Add two numbers together' clearly states the verb ('Add') and resource ('two numbers'), making the purpose specific and understandable. However, it does not differentiate from sibling tools, as the only sibling is 'httpbin_json', which is unrelated, so differentiation is not needed but not explicitly addressed.

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 or in what context it should be applied. It lacks any mention of prerequisites, constraints, or comparison with other tools, leaving usage entirely implicit.

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

httpbin_jsonC

Returns data about slide show

ParametersJSON Schema
NameRequiredDescriptionDefault
aNo

TDQS

C2.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 carries the full burden of behavioral disclosure. It mentions 'Returns data', which suggests a read-only operation, but doesn't specify any behavioral traits like error handling, rate limits, authentication needs, or what 'slide show' refers to. This leaves significant gaps in understanding how the tool behaves.

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

Conciseness3/5

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

The description is a single sentence that is concise, but it's under-specified rather than efficiently informative. It's front-loaded but lacks substance, making it borderline adequate in structure but not truly helpful.

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 complexity (1 parameter, no annotations, no output schema), the description is incomplete. It doesn't explain what data is returned, how 'a' is used, or any context about slide shows, leaving the agent with insufficient information to effectively use the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 1 parameter 'a' of type number with 0% description coverage, and the description adds no information about parameters. It doesn't explain what 'a' represents, how it relates to slide shows, or its purpose, failing to compensate for the low schema coverage.

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 states the tool 'Returns data about slide show', which provides a vague purpose without specifying what kind of data or what operation is performed. It doesn't clearly distinguish from the sibling tool 'calculate_sum', and while it's not a tautology (it adds 'about slide show'), it remains too general to be helpful for precise tool selection.

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?

There is no guidance on when to use this tool versus the sibling 'calculate_sum' or any alternatives. The description implies it's for slide show data, but without context on when it's appropriate or what scenarios it addresses, leaving the agent with minimal usage direction.

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. 2 tool updates
    • First observedcalculate_sum
    • First observedhttpbin_json

TDQS

C2.5/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have completely distinct purposes: calculate_sum performs a mathematical addition operation, while httpbin_json returns data about a slide show. There is no overlap or ambiguity between these functions, making it easy for an agent to select the correct tool.

Naming Consistency3/5

The naming is mixed: calculate_sum uses a verb_noun pattern, but httpbin_json is more of a noun-based name with a prefix. While both are readable, they don't follow a consistent convention, which could cause minor confusion in a larger set.

Tool Count2/5

With only 2 tools, this server feels thin and under-scoped for a 'Playground' purpose, which typically implies a broader set of utilities. The tools are too few to meaningfully explore or test MCP capabilities, suggesting an incomplete implementation.

Completeness1/5

The tool surface is severely incomplete for a 'Playground' domain, which should offer diverse functionalities. There are obvious gaps, such as missing basic operations like subtraction, multiplication, or other HTTP-related tools, making it inadequate for comprehensive agent workflows.

Maintenance

ActivityInactive
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    A TypeScript-based server project that can be integrated with Cursor IDE as an MCP (Model Control Protocol) server, enabling enhanced development capabilities.
    134
    -
  • A
    license
    A
    quality
    A
    maintenance
    Production-ready template for building MCP servers with TypeScript, featuring example tools and resources, and Claude Desktop integration.
    1
    4 npm
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A TypeScript template for building MCP servers, enabling developers to create custom tools for AI assistants like Claude.
    11 npm
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    A TypeScript MCP server boilerplate with example tools (calculator, greet) and resources (system info), ready for extension and integration with Cursor.
    -