ESA MCP Server

# esa-mcp-server esa-mcp-server は、[esa.io](https://esa.io) の API を [Model Context Protocol (MCP)](https://github.com/microsoft/model-context-protocol) を介して利用できるようにするサーバーです。 <a href="https://glama.ai/mcp/servers/undwqgwbtd"><img width="380" height="200" src="https://glama.ai/mcp/servers/undwqgwbtd/badge" alt="ESA Server MCP server" /></a> ## 機能 - esa.io の記事検索 - 記事の詳細取得(単一・複数) - MCP 準拠のインターフェース提供 ## Usage 利用するツールに合わせて以下のように設定ファイルを準備してください。 ```json { "mcpServers": { "esa-mcp-server": { "command": "npx", "args": [ "-y", "esa-mcp-server@latest" ] }, "env": { "ESA_API_KEY": "your api key here", "DEFAULT_ESA_TEAM": "your default esa team" } } } ``` ## 利用可能なツール ### search_esa_posts esa.io の記事を検索します。 ```typescript type SearchPostsParams = { teamName?: string; query: string; order?: "asc" | "desc"; sort?: "created" | "updated" | "number" | "stars" | "comments" | "best_match"; page?: number; perPage?: number; } ``` esa の記事検索 API は、記事の本文も返しますが MCP Server のレスポンスには含めないようにしています。 これは検索の時点でヒットした全記事の本文を返すとトークン数を激しく消費してしまうためです。 各パラメータの用途は [esa API v1 の公式ドキュメント](https://docs.esa.io/posts/102) を参照してください。 ### read_esa_post 指定した投稿番号の記事を取得します。 ```typescript type ReadPostParams = { teamName?: string; postNumber: number; } ``` ### read_esa_multiple_posts 複数の投稿番号の記事を一括で取得します。 ```typescript type ReadMultiplePostsParams = { teamName?: string; postNumbers: number[]; } ``` ## Contribution 歓迎します。