Toy MCP Server
A simple MCP server that provides two tools: one for counting specific letter occurrences within words and another for generating UUIDv7s.
README
Toy
概要
FastMCPを利用した、単語内の特定文字の出現回数をカウントするツールと、UUIDv7を生成するツールを提供するシンプルなMCPサーバーです。
count_letters ツールは、大文字・小文字を区別せずに文字をカウントします。
提供ツール
count_letters
- 機能: 指定された単語 (
word) の中に、指定された文字 (letter) が何回出現するかを返します。 - 入力:
word(文字列): カウント対象の単語。letter(文字列): カウントする文字。
- 出力:
result(数値): 文字の出現回数。
リクエスト例 (MCPクライアントから送信される想定):
{
"tool_name": "count_letters",
"tool_args": {
"word": "Programming",
"letter": "m"
}
}
レスポンス例 (MCPサーバーから返される想定):
{
"result": 2
}
generate_uuid7s
- 機能: 指定された数のUUIDv7を生成します。デフォルトは1つです。
- 入力:
count(数値, オプション): 生成するUUIDの数。デフォルトは1。1以上の整数である必要があります。
- 出力:
result(文字列のリスト): 生成されたUUIDv7のリスト。
リクエスト例 (MCPクライアントから送信される想定):
{
"tool_name": "generate_uuid7s",
"tool_args": {
"count": 3
}
}
レスポンス例 (MCPサーバーから返される想定):
{
"result": [
"018fa9e7-7d8a-7b9c-8000-000000000001",
"018fa9e7-7d8a-7b9c-8000-000000000002",
"018fa9e7-7d8a-7b9c-8000-000000000003"
]
}
セットアップ
前提条件
- Python 3.13.1
- Make
- uv (Pythonパッケージ管理ツール)
手順
- 仮想環境の作成と依存関係のインストール:
pyproject.tomlにプロジェクトの依存関係が定義されています。以下のコマンドを実行すると、uvが仮想環境を作成(存在しない場合)し、依存関係を同期します。uv sync
使用方法
このMCPサーバー (server.py) は、標準入出力(stdio)を介してMCPクライアントと通信します。
サーバーを起動するには、プロジェクトのルートディレクトリで以下のコマンドを実行します。
uv run python server.py
または、仮想環境を有効化 (source .venv/bin/activate) している場合は、以下でも起動できます。
python server.py
起動後、MCPクライアントは上記「提供ツール」セクションに記載されたJSON形式でリクエストを標準入力に送信し、結果を標準出力から受け取ります。
Cursor / Windsurf での使用方法
Cursor / Windsurf の設定ファイル (mcp_config.json など) に以下のように追記することで、このMCPサーバーを利用できます。
{
"mcpServers": {
"letter-counter": {
"command": "uv",
"args": [
"--directory",
"<your_project_directory>",
"run",
"server.py"
]
}
}
}
注意: args 内の --directory のパスは、この README.md があるディレクトリ (プロジェクトのルートディレクトリ) を指すように、ご自身の環境に合わせて適宜修正してください。
開発コマンド (Makefile)
プロジェクトのルートディレクトリで以下の make コマンドを実行できます。
-
フォーマットと静的解析、テストの実行:
make testこのコマンドは、Ruffによるコードフォーマットとチェック、Mypyによる型チェック、Pytestによる単体テスト(カバレッジレポート生成を含む)を一括で実行します。
-
コードフォーマットとチェック:
make formatこのコマンドは、Ruffを使用してコードのフォーマットとチェック(自動修正含む)を実行します。
ディレクトリ構成
.
├── .venv/ # 仮想環境
├── htmlcov/ # カバレッジレポート (pytest実行後に生成)
├── tests/
│ ├── __init__.py
│ ├── test_count_letters.py # count_lettersツールのテスト
│ └── test_generate_uuid7s.py # generate_uuid7sツールのテスト
├── tools/
│ ├── __init__.py
│ ├── count_letters_tool.py # count_lettersツールの実装
│ └── generate_uuid_tool.py # generate_uuid7sツールの実装
├── pyproject.toml # プロジェクト設定と依存関係
├── server.py # メインのサーバーアプリケーション
├── Makefile # 開発用コマンド定義
└── README.md
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。