mcpField
H
How to build an MCP server - Calculator Example

How to build an MCP server - Calculator Example

ローカル
github.com/simonberner開発ツール180 週間前に更新

How to build an MCP server - Calculator Example について

Pythonで基本的な算術演算を提供するMCPサーバーのサンプルです。MCPサーバーの構築、テスト、クライアント連携を学ぶ開発者向けです。

主な機能

  1. 01基本的な算術演算
  2. 02Python製MCPサーバーの例
  3. 03MCP Inspectorによるローカルテスト
  4. 04Pytestによるテスト

活用シーン

  1. 01MCPサーバー開発の学習
  2. 02計算サーバーのローカルテスト
  3. 03MCPクライアントへの算術ツール連携

MCP 対応

MCPクライアントに基本的な算術演算ツールを提供します。ローカルテストとクライアント設定の方法も記載されています。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"calculator-simonberner": {
"command": "npx",
"args": [
"-y",
"@smithery/cli"
]
}
}
}
起動コマンドnpx -y @smithery/cli

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@smithery/cli

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MCP サーバーの構築方法 - 電卓の例

smithery badge License: MIT

概要

これは、MCP クライアントに基本的な数学演算を提供する MCP サーバーの構築方法を示す、とてもシンプルな例です。

MCP とは?

Model Context Protocol(MCP)は、LLM がカスタムのツールやサービスにアクセスできるようにするプロトコルです。MCP クライアントは MCP サーバーにリクエストを送信し、サーバーが提供するツールにアクセスできます。この例は、クライアントに基本的な数学演算を提供するシンプルな電卓サーバーです。

「MCP を使うと、AI モデルが外部システムとやり取りするための、単一の標準化された方法を提供できます。一度コードを書けば、すべての AI システムが利用できます。」1

「サーバーは、LLM に外部データやコンテキストを付加する基本的な構成要素です。」2

Chat MCP Calculator

技術スタック

  • Python3
  • Pytest
  • MCP SDK
  • MCP CLI
  • Nix(任意)

セットアップと使い方

Smithery

Smithery を使って、Claude Desktop に mcp-server-calculator を自動でインストールするには:

npx -y @smithery/cli install @simonberner/mcp-server-calculator --client claude
開発環境のセットアップ

このプロジェクトでは、再現可能で隔離された開発環境を用意するために Nix を使用しているので、Python やその他の依存関係をインストールする必要はありません。必要なものはすべて最初から揃っています。また、Python で venv や poetry を使って仮想環境を作成する必要もありませんが、システムに Nix をインストールする必要があります。

  • direnv をインストールします(開発環境の読み込みに使用します)
  • Lix をインストールします
  • このリポジトリをクローンします
  • ディレクトリに移動します
  • direnv allow を実行します
  • pytest を実行します
代替方法

Smithery や Nix を使いたくない場合は、もちろん uv を使ってパッケージ/プロジェクトをビルドすることもできます。手順は以下のとおりです。

# Install uv (see https://docs.astral.sh/uv/getting-started/installation/)
curl -LsSf https://astral.sh/uv/install.sh | sh

# Create a virtual environment named .venv
uv venv

# Activate the virtual environment (example for bash/zsh)
source .venv/bin/activate

# Now run the install or build commands
uv pip install -e .
# or
uv pip wheel . -w dist
サーバーのローカルでの実行とテスト
  • MCP Inspector は便利な GUI ツールです。LLM や AI エージェントと統合しなくても、Web インターフェース http://localhost:5173 から独自の MCP サーバーをテストできます。
mcp dev src/mcp_server_calculator/calculator.py
ホスト/クライアントとの連携
  • 以下を mcp 設定に追加します:
{
  "mcpServers": {
    "calculator": {
      "command": "python",
      "args": [
        "<YOUR-PATH>/mcp-server-calculator/src/mcp_server_calculator/calculator.py"
      ]
    }
  }
}
注意事項
  • Windsurf IDE を MCP ホストとして使用する場合、MCP サーバーとともに Cascade(MCP クライアント)を使用するには、Pro Plan が必要です。

問題

現在の問題を確認したり、新しい問題を報告したりするには、Issues を確認してください。

リソース

クレジット

  • Nix-Setup は ical2json から取得しました

知っておくと便利な情報

Nix
Cloudflare

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。