Skip to main content
Glama

シンプルなMCP

MCP (Model Context Protocol) サーバーを作成するためのシンプルな TypeScript ライブラリ。

特徴

  • シンプルなAPI : 最小限のコードでMCPサーバーを作成

  • 型安全性: TypeScriptの完全統合

  • パラメータ検証: Zod による組み込み検証

  • MCP互換:モデルコンテキストプロトコルを完全に実装

Related MCP server: easy-mcp

インストール

npm install simple-mcp

クイックスタート

import { McpServer } from 'simple-mcp';
import { z } from 'zod';

// Create a server instance
const server = new McpServer({ name: 'my-server' });

// Register the tool with the server
server.tool({
  name: 'greet',
  parameters: {
    name: z.string().describe('Person\'s name')
  },
  execute: async ({ name }) => {
    return {
      content: [
        {
          type: 'text',
          text: `Hello, ${name}! Nice to meet you.`
        }
      ]
    };
  }
});

// Start the server
server.start({ transportType: 'stdio' });

クラスベースの実装

クラスを使用して MCP ツールを実装することもできます。

import { McpServer, type McpTool } from 'simple-mcp';
import { z, ZodObject } from 'zod';

const parameters = {
  name: z.string().describe('The name is required'),
};

class GreetTool implements McpTool<typeof parameters> {
  public readonly name = 'greet';
  public readonly parameters = parameters;

  public async execute({ name }: z.infer<ZodObject<typeof this.parameters>>) {
    return {
      content: [
        {
          type: 'text',
          text: `Hello, ${name}! Nice to meet you.`,
        },
      ],
    };
  }
}

// Initialize a new MCP server with the name 'greet-server'
const server = new McpServer({ name: 'greet-server' });

// Create an instance of the GreetTool class
const greetTool = new GreetTool();

// Register the tool with the server
server.tool(greetTool);

// Start the server using stdio as the transport method
server.start({ transportType: 'stdio' });

例

より完全な例については、例のディレクトリを参照してください。

貢献

貢献を歓迎します!お気軽に問題を報告したり、プルリクエストを送信してください。

ライセンス

マサチューセッツ工科大学

Available Tools

1 tool
greetD
ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

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

Conciseness1/5

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

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

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

Parameters1/5

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

Tool has no description.

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

Purpose1/5

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

Tool has no description.

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?

Tool has no description.

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 observedgreet

TDQS

D1.5/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool in the server, there is no possibility of overlap or confusion between tools. The agent does not need to distinguish competing operations.

Naming Consistency4/5

The single tool name 'greet' uses a clear lowercase verb with no conflicting naming style. However, one tool is too few to establish a meaningful naming pattern across a server.

Tool Count1/5

A server named MCPKit containing only one trivial tool is severely underprovisioned. This tool count earns no place in a coherent server surface.

Completeness1/5

The only tool, 'greet', provides a trivial single action with no description and no supporting operations. The server surface is severely incomplete for any plausible broader purpose.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A TypeScript wrapper library for the Model Context Protocol SDK that provides a simplified interface for creating MCP servers with tools, resources, and prompts without needing to work directly with the protocol.
    6 npm
    AGPL 3.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    Simplifies creating MCP servers in TypeScript with an Express-like API and experimental decorators, enabling quick definition of tools, resources, and prompts.
    13 npm
    196
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    A lightweight SDK for building Model Context Protocol (MCP) servers with zero-config setup, automatic TypeScript type inference, and Zod runtime validation.
    6 npm
    3
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Turn your typed TypeScript functions into an MCP server — tool, resource, and prompt schemas inferred from your types and JSDoc. No schema library, no decorators, no boilerplate.
    15 npm
    MIT