【要約】MCP入門 ① 自作ツール(MCP Server)を Claude Code から呼び出す [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
AIアシスタントを利用する開発者が、LLMの知識限界や記憶の欠如という課題に直面している。LLMは学習データに基づいた推論を行うため、リアルタイムな情報の取得や、会話終了後の状態保持が困難である。
- ・LLMは実行時の正確な現在時刻を把握できない。
- ・LLMは会話セッションを跨いだデータの永続化ができない。
- ・LLMはユーザー固有のローカルデータや社内システムへ直接アクセスできない。
- ・LLMはツール実行の判断基準として、関数の説明文(docstring)に依存する。
// Approach
開発者がMCP(Model Context Protocol)を採用し、外部プロセスとして動作するサーバーを実装することで解決を図る。Anthropicが提唱するこのプロトコルを用いれば、AIに独自の関数やデータを提供できる。
- ・Pythonの
mcpSDK(FastMCP)を用いてサーバーを構築する。 - ・
@mcp.tool()デコレータで関数をツールとして登録する。 - ・docstringと型ヒントを用いて、LLMがツールを正しく判断できる情報を与える。
- ・外部ファイル(JSON)への保存により、データの永続化を実現する。
- ・
claude mcp addコマンドを用いて、作成したサーバーをClaude Codeへ登録する。
// Result
開発者が、最小限のコード量でAIに独自の能力を付与できる環境を構築できた。これにより、LLMの弱点を補い、実用的なエージェントへの道が開かれる。
- ・
time-serverにより、LLMが正確な時刻情報を取得可能になった。 - ・
todo-serverにより、セッションを跨いだTODO管理の永続化を実現した。 - ・
claude mcp addにより、既存のAI環境へ容易にツールを統合できる。 - ・開発者は、Pythonの関数を定義するだけでAIの機能を拡張できる。
Senior Engineer Insight
> MCPはAIエージェントの拡張性を劇的に高める。FastMCPによる実装の容易さは、プロトタイプ開発において極めて強力である。ただし、実戦投入時には、サーバーの認証・認可、および異常系への堅牢な設計が不可欠となる。