Skip to main content
Glama
hussain-alsaibai

tiny-mcp-server

tiny-mcp-server

Python で Model Context Protocol (MCP) サーバーを構築するための、最速かつ最小の方法。依存関係ゼロ。MIT ライセンス。

tiny-mcp-server は、Model Context Protocol サーバーを構築するための単一ファイルの Python フレームワークです。外部依存関係なし、ボイラープレート不要 — 関数に @tool を付けるだけで、MCP サーバーをデプロイできます。

特徴

  • 🪶 単一ファイル・依存関係ゼロ — 純粋な Python 標準ライブラリのみで、どのプロジェクトにもそのまま組み込めます

  • 🪄 @tool デコレータ — 1 行で任意の関数を MCP ツールに変換します

  • 🚀 複数のトランスポートstdio(デスクトップ MCP クライアント用)と sse(Web/リモート用)

  • JSON Schema の自動生成 — 型ヒント + docstring がツールスキーマになります

  • �️ 組み込みのロギングとエラーハンドリング — 不正なペイロードでもクラッシュしません

  • �️ MIT ライセンス — どこでも使用可能

Related MCP server: MCP Starter

インストール

簡単なほうを選んでください:

# Option 1 — pip (when published)
pip install tiny-mcp-server

# Option 2 — curl a single file and import it
curl -O https://raw.githubusercontent.com/hussain-alsaibai/tiny-mcp-server/main/tiny_mcp_server.py

# Option 3 — vendor it
cp tiny_mcp_server.py your_project/

クイックスタート

以下は、2 つのツールを備えた完全な MCP サーバーです — 20 行未満:

from tiny_mcp_server import Server, tool

app = Server("hello-world")

@app.tool
def add(a: int, b: int) -> int:
    """Add two numbers together."""
    return a + b

@app.tool
def greet(name: str = "World") -> str:
    """Greet someone by name."""
    return f"Hello, {name}!"

if __name__ == "__main__":
    app.run("stdio")  # or "sse" for HTTP transport

add ツールの自動生成された JSON Schema:

{
  "name": "add",
  "description": "Add two numbers together.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "a": {"type": "integer"},
      "b": {"type": "integer"}
    },
    "required": ["a", "b"]
  }
}

トランスポート

stdio(デフォルト — Claude Desktop、Cursor など向け)

app.run("stdio")

サーバーは stdin から JSON-RPC メッセージを読み取り、stdout に応答を書き込みます。これは、すべてのデスクトップ MCP クライアントで使用されるトランスポートです。

SSE(HTTP — Web クライアント向け)

app.run("sse", host="127.0.0.1", port=8000)

/sse に Server-Sent Events エンドポイント、/messages に POST エンドポイントを公開します。MCP サーバーをローカルマイクロサービスとして実行するのに最適です。

API リファレンス

Server(name: str)

app = Server("my-server")

@app.tool

@app.tool(name="optional-name", description="optional-desc")
def my_tool(arg: str, count: int = 1) -> str:
    """Tool description (used as fallback if description not provided)."""
    return arg * count
  • name — デフォルトは関数名

  • description — デフォルトは関数の docstring

  • 引数はシグネチャから、型はアノテーションから推論されます

  • デフォルト値があると、スキーマ上でオプションになります

app.run(transport: str, **kwargs)

  • "stdio" — 追加の引数は不要

  • "sse"host(デフォルト 127.0.0.1)、port(デフォルト 8000

実行可能なデモについては、examples/hello_world.py を参照してください。

ライセンス

MIT © hussain-alsaibai

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    D
    quality
    D
    maintenance
    A foundation for building custom local Model Context Protocol (MCP) servers that provide tools accessible to AI assistants like Cursor or Claude Desktop.
    1
    37
    MIT
  • A
    license
    -
    quality
    D
    maintenance
    A universal framework for creating and deploying custom Model Context Protocol (MCP) tool servers with decorator-based tool registration, supporting multiple transports and automatic JSON schema generation for AI assistants.
    1
    MIT

View all related MCP servers

Related MCP Connectors

  • A Model Context Protocol server for Wix AI tools

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…

  • AI Reasoning Cache & Consensus Layer with 11 MCP tools via Streamable HTTP.

View all MCP Connectors

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/hussain-alsaibai/tiny-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server