connpass-user-mcp-server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@connpass-user-mcp-servershow me yamanoku's Connpass groups"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Connpassのユーザー情報や参加イベント情報等を取得するModel Context Protocol (MCP)サーバーです。
セットアップ
必要な環境
(Connpass APIキーをすでに取得済の場合はスキップ)Connpass APIキーの発行をしてもらいます。詳細についてはconnpassのAPI利用についてを参照してください。
このリポジトリをクローンします。
必要な環境変数を設定します。
.env.exampleを.envにコピーして、Connpass APIキーを設定します。
cp .env.example .env
# .envファイルを編集してCONNPASS_API_KEYを設定サーバーを起動します。
Denoでの起動(推奨)
"connpass-user-mcp-server": {
"command": "wsl.exe",
"args": [
"/home/user/.deno/bin/deno",
"--allow-net=connpass.com",
"--env-file=/home/user/connpass-mcp-server/.env",
"--allow-read",
"--allow-env",
"/home/user/connpass-mcp-server/index.ts"
]
}Node.jsでの起動
MCPサーバーを起動するために必要な依存関係をインストールします。
npm ciTypeScriptをビルドします。
npm run buildMCPクライアントの設定ファイル側にビルドしたファイルを指定します。
"connpass-user-mcp-server": {
"command": "wsl.exe",
"args": [
"/home/user/.local/share/mise/installs/node/24.18.1/bin/node",
"--env-file=/home/user/connpass-mcp-server/.env",
"/home/user/connpass-mcp-server/dist/index.js"
]
}Dockerでの起動
Dockerfileを使用してサーバーを起動することもできます。
Dockerイメージをビルドします。
docker build -t connpass-user-mcp-server .コンテナを起動します。APIキーは環境変数として渡します。
docker run -e CONNPASS_API_KEY=XXXXXXXXXXXXXXXX connpass-user-mcp-serverMCPクライアントの設定ファイルでは、dockerコマンドを指定します。
"connpass-user-mcp-server": {
"command": "docker",
"args": [
"run",
"-e",
"CONNPASS_API_KEY=XXXXXXXXXXXXXXXX",
"connpass-user-mcp-server"
]
}npxでの起動(非推奨)
@yamanoku/connpass-user-mcp-serverにてパッケージを提供しているため、リポジトリをクローンせずにnpxでMCPサーバーの起動が可能です。
"connpass-user-mcp-server": {
"command": "wsl.exe",
"args": [
"bash",
"-c",
"CONNPASS_API_KEY=XXXXXXXXXXXXXXXX /home/user/.local/share/mise/installs/node/24.18.1/bin/npx -y @yamanoku/connpass-user-mcp-server",
]
},ただしnpxでMCPサーバーを起動するのはサプライチェーン攻撃などのセキュリティ的な懸念があるため非推奨としています。
Related MCP server: Connpass MCP Server
機能
以下のMCPサーバーのToolsを提供しています:
Tools
get_connpass_user_list - Connpassユーザーの基本情報を取得します
パラメータ:
nickname(Connpassユーザー名/ニックネームの配列)取得情報: 参加イベント数、管理イベント数、発表イベント数、ブックマークイベント数
get_connpass_user_group_list - Connpassユーザーが所属するグループ一覧を取得します
パラメータ:
nickname(Connpassユーザー名/ニックネーム)取得情報: グループ名、URL、説明、参加者数など
get_connpass_user_events - Connpassユーザーが参加したイベント情報を取得します
パラメータ:
nickname(Connpassユーザー名/ニックネーム)取得情報: イベント名、日時、場所、URL、説明
get_connpass_user_presenter_events - Connpassユーザーが発表者として参加したイベント情報を取得します
パラメータ:
nickname(Connpassユーザー名/ニックネーム)取得情報: イベント名、日時、場所、URL、説明
プロンプト例
次のようなプロンプトをLLMへ渡すことが可能です:
「yamanoku, okuto_oyamaさんのConnpassユーザー情報を教えて」
「yamanokuさんの参加するConnpassイベント情報を教えて」
「yamanokuさんの発表したConnpassイベント一覧を表示して」
「yamanokuさんのConnpass所属グループを一覧表示して」
テスト
Denoでのテスト
Connpass APIの統合テストを実行します:
deno task test謝辞
このOSSはGPT-4o Image Generationによってロゴを製作、Claude 3.7 Sonnetによって実装、ドキュメントのサンプルを提案いただきました。感謝申し上げます。
ライセンス
Available Tools
4 toolsget_connpass_user_eventsC
Fetch events for a specific Connpass user
| Name | Required | Description | Default |
|---|---|---|---|
| nickname | Yes | Connpass user ID/nickname |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the action without revealing any behavioral traits such as authentication requirements, rate limits, whether past or future events are returned, pagination, or ordering. This leaves significant unknowns for the agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no filler or redundancy. It is front-loaded with the action 'Fetch' and immediately specifies the resource. Every word earns its place, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having only one parameter and no output schema, the description is too minimal for a tool that interacts with an external API. It does not explain what the events represent (attending, hosting, etc.), the return format, or any credentials needed. The lack of annotations and output schema combined with a one-line description leaves significant gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers 100% of the parameters with a clear description for 'nickname'. The tool description adds no additional meaning beyond the schema, but since schema coverage is high, a baseline of 3 is appropriate. The description does not clarify the expected format or resolution of the nickname, but the schema suffices.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Fetch' and identifies the resource as 'events for a specific Connpass user'. It is clear what the tool does, but it does not distinguish it from the sibling tool 'get_connpass_user_presenter_events', which also fetches events for a user (presented ones). This ambiguity prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus the alternatives. It does not mention exclusions or contexts where another tool would be more appropriate, such as when needing presenter-specific events or user group lists. The intended usage is only implied by the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_connpass_user_group_listC
Fetch Connpass user group information
| Name | Required | Description | Default |
|---|---|---|---|
| nickname | Yes | Connpass user ID/nickname |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavioral traits. It provides no details about read-only guarantees, authentication needs, response format, or any side effects, adding no context beyond the tool's name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, waste-free sentence that clearly names the resource and action. It is appropriately compact for a simple tool with one parameter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The absence of an output schema and annotations means the description should clarify what 'group information' includes and how the tool behaves. It does not specify response structure, limitations, or how this differs from sibling tools, leaving an agent with insufficient context to confidently invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema fully documents the 'nickname' parameter with a clear description ('Connpass user ID/nickname'), and schema coverage is 100%. The tool description adds no additional parameter-level meaning, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Fetch' and resource 'Connpass user group information', clearly indicating the action. However, it does not distinguish from sibling tools like get_connpass_user_list or get_connpass_user_events, leaving ambiguity about the exact scope of 'group information'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool over alternatives. The description only states the basic action without referencing sibling tools, prerequisites, or contextual triggers, leaving the agent without direction on selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_connpass_user_listC
Fetch Connpass user information
| Name | Required | Description | Default |
|---|---|---|---|
| nickname | Yes | Connpass user ID/nickname |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and the description only indicates a read operation ('Fetch'). It does not disclose authentication requirements, rate limits, or output characteristics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no unnecessary words, earning a high score for conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite simplicity, the description omits what the returned data represents (list of users? profiles?), and given siblings, it is ambiguous. No output schema exists to fill the gap, so more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides full coverage for the single 'nickname' parameter, so the description adds no new semantic meaning. The baseline for full schema coverage is 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb ('Fetch') and resource ('Connpass user information'), but it does not specify the exact scope or distinguish this from siblings like get_connpass_user_events or get_connpass_user_group_list. The name suggests a list of users, but the description says 'user information', leaving ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus the sibling tools. There are no exclusions or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_connpass_user_presenter_eventsA
Fetch presenter events for a specific Connpass user
| Name | Required | Description | Default |
|---|---|---|---|
| nickname | Yes | Connpass user ID/nickname |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden of behavioral disclosure. However, it only states the action 'Fetch' without mentioning side effects, rate limits, authentication requirements, or what makes an event a 'presenter event'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no filler or redundant content. It is appropriately concise and front-loads the core purpose effectively.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with one parameter and no output schema, the description is minimal but lacks essential context. It does not clarify what constitutes a 'presenter event' or what the return value represents, leaving ambiguity that could confuse users.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The sole parameter 'nickname' is fully described in the schema as 'Connpass user ID/nickname', achieving 100% schema coverage. The description adds no additional meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Fetch' and clearly identifies the resource as 'presenter events for a specific Connpass user'. The term 'presenter' distinguishes it from the sibling get_connpass_user_events, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool over alternatives like get_connpass_user_events or get_connpass_user_list. Usage context is only implied by the tool name itself, not elaborated in the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
v0.3.0- First observed
get_connpass_user_events - First observed
get_connpass_user_group_list - First observed
get_connpass_user_list - First observed
get_connpass_user_presenter_events
TDQS
Scored across 4 tools
Each tool targets a distinct aspect of Connpass user data: user info, user groups, user's events, and user's presenter events. The descriptions clearly differentiate the resource types, so an agent is unlikely to select the wrong tool.
All tools follow the 'get_connpass_user_' prefix, but the resource nouns vary slightly in style ('list' vs 'group_list' vs 'events'). The pattern is consistent enough, though 'user_list' is a bit ambiguous compared to the other clearly resource-specific names.
With only 4 tools, the server is well-scoped and focused on read-only Connpass user information. Each tool covers a distinct data need without unnecessary bloat, fitting comfortably within the ideal 3-15 range.
The server covers the core user-oriented resources: profile, groups, events, and presenter events. Minor gaps like attendee history or bookmarks could exist, but for a typical read-only user information server, this is a reasonable and functional surface.
Maintenance
Related MCP Connectors
Query and audit AppSheet apps in natural language via Knotrik's pre-scanned definitions.
Ask data questions in natural language. Get SQL, insights, and charts from your databases.
Query BigQuery, Snowflake, Redshift & Azure Synapse with natural language
Query your Twitch streams, events, supporters, raids & rankings from an AI assistant via OAuth.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables natural language search and retrieval of data from Japan's Ministry of Land, Infrastructure, Transport and Tourism (MLIT) Data Platform, including location-based queries, attribute filtering, and data visualization capabilities.18MIT
- FlicenseNot gradedqualityDmaintenanceEnables searching and retrieving IT study groups and event information from connpass.com, including user attended events, group events, and location-based event searches.-
- FlicenseAqualityDmaintenanceEnables AI assistants to securely query and analyze KARTE event data via BigQuery. It provides tools for fetching event logs, aggregating data, and exploring schemas using natural language.4-
- FlicenseNot gradedqualityCmaintenanceEnables querying your Garmin Connect data including recent activities, detailed metrics, and daily stats through natural language.-