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를 자동으로 설치하려면:

지엑스피1

설치

  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 hooks에 유용함)

  • npm run watch - TypeScript 파일의 변경 사항을 감시합니다.

  • npm run inspector - MCP 검사기 도구를 실행합니다.

기여하다

기여를 환영합니다! 제안, 개선 사항 또는 새로운 통합 기능이 있으시면 저장소를 포크하고 변경 사항을 담은 풀 리퀘스트를 생성해 주세요.

참고문헌

특허

이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.

노트

이 프로젝트는 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.
    -