@kajidog/connpass-mcp-server 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +72 -149
- package/dist/index.d.ts +0 -2
- package/dist/index.js +4729 -162
- package/dist/index.js.map +1 -1
- package/dist/mcp-app.html +139 -0
- package/dist/stdio.d.ts +1 -0
- package/dist/stdio.js +2120 -0
- package/dist/stdio.js.map +1 -0
- package/package.json +18 -18
- package/dist/apps-sdk.d.ts +0 -8
- package/dist/apps-sdk.d.ts.map +0 -1
- package/dist/apps-sdk.js +0 -93
- package/dist/apps-sdk.js.map +0 -1
- package/dist/config.d.ts +0 -7
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js +0 -82
- package/dist/config.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/tools/events.d.ts +0 -74
- package/dist/tools/events.d.ts.map +0 -1
- package/dist/tools/events.js +0 -413
- package/dist/tools/events.js.map +0 -1
- package/dist/tools/formatting.d.ts +0 -74
- package/dist/tools/formatting.d.ts.map +0 -1
- package/dist/tools/formatting.js +0 -222
- package/dist/tools/formatting.js.map +0 -1
- package/dist/tools/groups.d.ts +0 -48
- package/dist/tools/groups.d.ts.map +0 -1
- package/dist/tools/groups.js +0 -106
- package/dist/tools/groups.js.map +0 -1
- package/dist/tools/index.d.ts +0 -54
- package/dist/tools/index.d.ts.map +0 -1
- package/dist/tools/index.js +0 -21
- package/dist/tools/index.js.map +0 -1
- package/dist/tools/shared.d.ts +0 -24
- package/dist/tools/shared.d.ts.map +0 -1
- package/dist/tools/shared.js +0 -113
- package/dist/tools/shared.js.map +0 -1
- package/dist/tools/users.d.ts +0 -51
- package/dist/tools/users.d.ts.map +0 -1
- package/dist/tools/users.js +0 -239
- package/dist/tools/users.js.map +0 -1
- package/dist/transports/http.d.ts +0 -17
- package/dist/transports/http.d.ts.map +0 -1
- package/dist/transports/http.js +0 -185
- package/dist/transports/http.js.map +0 -1
- package/dist/transports/sse.d.ts +0 -21
- package/dist/transports/sse.d.ts.map +0 -1
- package/dist/transports/sse.js +0 -161
- package/dist/transports/sse.js.map +0 -1
- package/dist/widgets/connpass-events.d.ts +0 -41
- package/dist/widgets/connpass-events.d.ts.map +0 -1
- package/dist/widgets/connpass-events.js +0 -68
- package/dist/widgets/connpass-events.js.map +0 -1
- package/dist/widgets/connpass-schedule.d.ts +0 -41
- package/dist/widgets/connpass-schedule.d.ts.map +0 -1
- package/dist/widgets/connpass-schedule.js +0 -68
- package/dist/widgets/connpass-schedule.js.map +0 -1
- package/dist/widgets/index.d.ts +0 -6
- package/dist/widgets/index.d.ts.map +0 -1
- package/dist/widgets/index.js +0 -39
- package/dist/widgets/index.js.map +0 -1
package/README.md
CHANGED
|
@@ -4,149 +4,93 @@
|
|
|
4
4
|
|
|
5
5
|
Connpass MCP Server は、MCP (Model Context Protocol) 経由で Connpass API を扱うためのツール群です。AI やエージェントが理解しやすいパラメータ設計になっており、自然言語に近い入力でイベント・グループ・ユーザー情報を取得できます。
|
|
6
6
|
|
|
7
|
+
MCP Apps Extension 対応クライアントでは、インタラクティブなイベントブラウザ UI も利用できます。
|
|
8
|
+
|
|
7
9
|
## インストール
|
|
8
10
|
|
|
9
|
-
### npx
|
|
11
|
+
### npx で即座に起動(stdio モード)
|
|
10
12
|
|
|
11
13
|
```bash
|
|
12
|
-
#
|
|
14
|
+
# 起動
|
|
13
15
|
npx @kajidog/connpass-mcp-server
|
|
14
16
|
|
|
15
|
-
#
|
|
16
|
-
npx @kajidog/connpass-mcp-server
|
|
17
|
-
|
|
18
|
-
# SSE トランスポートで起動
|
|
19
|
-
npx @kajidog/connpass-mcp-server --transport sse
|
|
17
|
+
# API キーを指定
|
|
18
|
+
CONNPASS_API_KEY=your-api-key npx @kajidog/connpass-mcp-server
|
|
20
19
|
|
|
21
20
|
# ヘルプを表示
|
|
22
21
|
npx @kajidog/connpass-mcp-server --help
|
|
23
22
|
```
|
|
24
23
|
|
|
25
|
-
|
|
24
|
+
### HTTP モードで起動
|
|
26
25
|
|
|
27
26
|
```bash
|
|
28
|
-
|
|
27
|
+
npx @kajidog/connpass-mcp-server --http --port 3000
|
|
29
28
|
```
|
|
30
29
|
|
|
31
30
|
### グローバルインストール
|
|
32
31
|
|
|
33
32
|
```bash
|
|
34
|
-
# インストール
|
|
35
33
|
npm install -g @kajidog/connpass-mcp-server
|
|
36
|
-
|
|
37
|
-
# 実行
|
|
38
34
|
connpass-mcp-server
|
|
39
35
|
```
|
|
40
36
|
|
|
41
|
-
##
|
|
42
|
-
|
|
43
|
-
1. 依存関係をインストールします。
|
|
44
|
-
|
|
45
|
-
```bash
|
|
46
|
-
pnpm install
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
2. ビルドして利用可能な状態にします。
|
|
50
|
-
|
|
51
|
-
```bash
|
|
52
|
-
pnpm --filter @kajidog/connpass-mcp-server build
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
3. Connpass API キーを環境変数で指定してサーバーを起動します。
|
|
56
|
-
|
|
57
|
-
```bash
|
|
58
|
-
CONNPASS_API_KEY=あなたのAPIキー pnpm --filter @kajidog/connpass-mcp-server start
|
|
59
|
-
```
|
|
37
|
+
## 環境変数
|
|
60
38
|
|
|
61
|
-
|
|
39
|
+
| 変数名 | 説明 | デフォルト |
|
|
40
|
+
|--------|------|-----------|
|
|
41
|
+
| `CONNPASS_API_KEY` | Connpass API キー | - |
|
|
42
|
+
| `CONNPASS_DEFAULT_USER_ID` | `search_schedule` で `userId` 省略時に使うユーザー ID | - |
|
|
43
|
+
| `CONNPASS_RATE_LIMIT_ENABLED` | API レート制限の有効化 | `true` |
|
|
44
|
+
| `CONNPASS_RATE_LIMIT_DELAY_MS` | レート制限の遅延 (ms) | `1000` |
|
|
45
|
+
| `MCP_HTTP_MODE` | HTTP モードで起動 | `false` |
|
|
46
|
+
| `MCP_HTTP_PORT` | HTTP モードのポート | `3000` |
|
|
47
|
+
| `MCP_HTTP_HOST` | HTTP モードのホスト | `0.0.0.0` |
|
|
48
|
+
| `MCP_API_KEY` | HTTP モードの API キー認証 | - |
|
|
62
49
|
|
|
63
|
-
|
|
50
|
+
## ツール一覧
|
|
64
51
|
|
|
65
|
-
|
|
52
|
+
### イベント
|
|
66
53
|
|
|
67
|
-
|
|
54
|
+
| ツール名 | 説明 | 主な入力 |
|
|
55
|
+
|----------|------|----------|
|
|
56
|
+
| `search_events` | キーワードや日付でイベントを検索し、会話用の結果と `searchSessionId` を返す | `query`, `from`, `to`, `prefectures`, `sort`, `includeDetails` |
|
|
57
|
+
| `browse_events` | `search_events` の `searchSessionId` を使ってインタラクティブ UI を開く | `searchSessionId` |
|
|
58
|
+
| `get_event_detail` | イベント ID を指定して詳細をフル取得 | `eventId` |
|
|
59
|
+
| `get_event_presentations` | イベントの発表情報を取得 | `eventId` |
|
|
60
|
+
| `search_schedule` | ユーザーのスケジュールを検索 | `userId`, `nickname`, `fromDate`, `toDate`, `includeDetails` |
|
|
68
61
|
|
|
69
|
-
###
|
|
62
|
+
### グループ
|
|
70
63
|
|
|
71
|
-
|
|
64
|
+
| ツール名 | 説明 | 主な入力 |
|
|
65
|
+
|----------|------|----------|
|
|
66
|
+
| `search_groups` | グループをキーワードや所在地で検索 | `query`, `country`, `prefecture`, `sort` |
|
|
72
67
|
|
|
73
|
-
|
|
74
|
-
# デフォルトで HTTP トランスポートを使用 (ポート 3000)
|
|
75
|
-
connpass-mcp-server
|
|
68
|
+
### ユーザー
|
|
76
69
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
70
|
+
| ツール名 | 説明 | 主な入力 |
|
|
71
|
+
|----------|------|----------|
|
|
72
|
+
| `search_users` | ニックネームなどでユーザーを検索 | `nickname`, `userIds`, `sort` |
|
|
73
|
+
| `get_user_groups` | ユーザーが所属するグループ一覧 | `userId` |
|
|
74
|
+
| `get_user_attended_events` | ユーザーが参加したイベント一覧 | `userId`, `includeDetails` |
|
|
75
|
+
| `get_user_presenter_events` | ユーザーが登壇したイベント一覧 | `userId`, `includeDetails` |
|
|
80
76
|
|
|
81
|
-
|
|
82
|
-
connpass-mcp-server --transport http
|
|
83
|
-
connpass-mcp-server -t http
|
|
84
|
-
```
|
|
77
|
+
### その他
|
|
85
78
|
|
|
86
|
-
|
|
79
|
+
| ツール名 | 説明 |
|
|
80
|
+
|----------|------|
|
|
81
|
+
| `list_prefectures` | 利用可能な都道府県コード一覧 |
|
|
87
82
|
|
|
88
|
-
|
|
83
|
+
### `includeDetails` パラメータ
|
|
89
84
|
|
|
90
|
-
|
|
91
|
-
# SSE トランスポートを使用
|
|
92
|
-
connpass-mcp-server --transport sse
|
|
85
|
+
`search_events`, `search_schedule`, `get_user_attended_events`, `get_user_presenter_events` では、`includeDetails: true` を指定するとイベントの説明文(200文字まで)が含まれます。AI がおすすめイベントを判断する際に有用です。
|
|
93
86
|
|
|
94
|
-
|
|
95
|
-
connpass-mcp-server --transport sse --port 8080
|
|
96
|
-
connpass-mcp-server -t sse -p 8080
|
|
97
|
-
```
|
|
87
|
+
デフォルト (`false`) では、タイトル・キャッチフレーズ・日時・会場・参加者数・URL などの基本情報のみを返します。
|
|
98
88
|
|
|
99
|
-
|
|
89
|
+
個別イベントの完全な説明文が必要な場合は `get_event_detail` を使用してください。
|
|
100
90
|
|
|
101
|
-
|
|
102
|
-
Usage: connpass-mcp-server [options]
|
|
103
|
-
|
|
104
|
-
Options:
|
|
105
|
-
-t, --transport <type> Transport type: http or sse (default: http)
|
|
106
|
-
-p, --port <number> Port number for http/sse transports (default: 3000)
|
|
107
|
-
-h, --help Show this help message
|
|
91
|
+
## 使い方の例
|
|
108
92
|
|
|
109
|
-
|
|
110
|
-
connpass-mcp-server # Start with HTTP transport on port 3000
|
|
111
|
-
connpass-mcp-server --transport sse --port 8080 # Start with SSE transport on port 8080
|
|
112
|
-
connpass-mcp-server -t http -p 5000 # Start with HTTP transport on port 5000
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
> **注意:** `PORT` および `MCP_TRANSPORT` 環境変数を設定することでも、ポートやトランスポート方式を変更できます。コマンドライン引数よりも環境変数が優先されます。
|
|
116
|
-
|
|
117
|
-
### 環境変数一覧
|
|
118
|
-
|
|
119
|
-
| 変数名 | 説明 | 既定値 |
|
|
120
|
-
| --- | --- | --- |
|
|
121
|
-
| `CONNPASS_API_KEY` | Connpass API Key。未設定の場合は `dummy-key` が使われます(本番利用不可)。 | `dummy-key` |
|
|
122
|
-
| `CONNPASS_DEFAULT_USER_ID` | `search_schedule` で `userId` を省略したときに使うユーザー ID。 | 未設定 |
|
|
123
|
-
| `CONNPASS_INCLUDE_PRESENTATIONS_DEFAULT` | `search_schedule` の `includePresentations` の既定値。`true/false` や `1/0` などで指定。 | 未設定(false と同等) |
|
|
124
|
-
| `CONNPASS_RATE_LIMIT_ENABLED` | API クライアントのレート制限キューを有効/無効化します。`false` にすると 1 秒間隔の待機をスキップします。 | `true` |
|
|
125
|
-
| `CONNPASS_RATE_LIMIT_DELAY_MS` | レート制限キューが適用する待機時間(ミリ秒)。Connpass 既定は 1000 ミリ秒です。 | `1000` |
|
|
126
|
-
| `CONNPASS_PRESENTATION_CACHE_ENABLED` | プレゼンテーション取得結果をディスクキャッシュするかどうか。 | `true` |
|
|
127
|
-
| `CONNPASS_PRESENTATION_CACHE_TTL_MS` | キャッシュ保持期間(ミリ秒)。 | `3600000` |
|
|
128
|
-
| `CONNPASS_PRESENTATION_CACHE_PATH` | キャッシュファイルの保存先パス。 | `./data/presentation-cache.json` |
|
|
129
|
-
| `CONNPASS_ENABLE_APPS_SDK_OUTPUT` | Apps SDK 互換の `structuredContent` をツール応答に含めるかどうか。`true/false` や `1/0` などで指定。 | `false` |
|
|
130
|
-
| `MCP_BASE_PATH` | MCP エンドポイントのベースパス。リバースプロキシで `/mcp` を `/` に転送する場合などに `/` を指定。(SSE トランスポートのみ) | `/mcp` |
|
|
131
|
-
| `MCP_TRANSPORT` | トランスポート方式 (`http`, `sse`)。コマンドライン引数より優先されます。 | 未設定 |
|
|
132
|
-
| `PORT` | サーバーのポート番号 (http, sse トランスポートのみ)。コマンドライン引数より優先されます。 | `3000` |
|
|
133
|
-
|
|
134
|
-
## ツール一覧
|
|
135
|
-
|
|
136
|
-
| ツール名 | 説明 | 主な入力フィールド |
|
|
137
|
-
| --- | --- | --- |
|
|
138
|
-
| `search_events` | 自然言語の日付やキーワードでイベントを検索 | `query`, `anyQuery`, `on`, `from`, `to`, `participantNickname`, `hostNickname`, `groupIds`, `prefectures`, `page`, `pageSize`, `sort` |
|
|
139
|
-
| `get_event_presentations` | 指定イベントの発表情報を取得 | `eventId` |
|
|
140
|
-
| `search_groups` | グループをキーワードや所在地で検索 | `query`, `groupIds`, `country`, `prefecture`, `page`, `pageSize`, `sort` |
|
|
141
|
-
| `search_users` | ニックネームなどでユーザーを検索 | `nickname`, `userIds`, `page`, `pageSize`, `sort` |
|
|
142
|
-
| `get_user_groups` | 指定ユーザーが所属するグループ一覧 | `userId`, `limit`, `page` |
|
|
143
|
-
| `get_user_attended_events` | 指定ユーザーが参加したイベント一覧 | `userId`, `limit`, `page`, `sort` |
|
|
144
|
-
| `get_user_presenter_events` | 指定ユーザーが登壇したイベント一覧 | `userId`, `limit`, `page`, `sort` |
|
|
145
|
-
| `search_schedule` | ユーザーのスケジュール(今日と今後のイベント)を検索 | `userId`, `nickname`, `daysAhead`, `maxEvents`, `includePresentations` |
|
|
146
|
-
|
|
147
|
-
## シンプルな使い方
|
|
148
|
-
|
|
149
|
-
### イベント検索(例)
|
|
93
|
+
### イベント検索
|
|
150
94
|
|
|
151
95
|
```json
|
|
152
96
|
{
|
|
@@ -156,73 +100,52 @@ Examples:
|
|
|
156
100
|
"from": "2025-11-01",
|
|
157
101
|
"to": "2025-11-07",
|
|
158
102
|
"prefectures": "東京都",
|
|
159
|
-
"sort": "start-date-asc"
|
|
103
|
+
"sort": "start-date-asc",
|
|
104
|
+
"includeDetails": true
|
|
160
105
|
}
|
|
161
106
|
}
|
|
162
107
|
```
|
|
163
108
|
|
|
164
|
-
|
|
165
|
-
- `prefectures` や `on` は単一文字列でも配列でも指定可能です。
|
|
166
|
-
|
|
167
|
-
### グループ検索(例)
|
|
109
|
+
### スケジュール検索
|
|
168
110
|
|
|
169
111
|
```json
|
|
170
112
|
{
|
|
171
|
-
"name": "
|
|
172
|
-
"arguments": {
|
|
173
|
-
"query": "AI",
|
|
174
|
-
"country": "JP",
|
|
175
|
-
"sort": "most-members"
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
```
|
|
179
|
-
|
|
180
|
-
### ユーザーの登壇イベント取得(例)
|
|
181
|
-
|
|
182
|
-
```json
|
|
183
|
-
{
|
|
184
|
-
"name": "get_user_presenter_events",
|
|
113
|
+
"name": "search_schedule",
|
|
185
114
|
"arguments": {
|
|
186
|
-
"
|
|
187
|
-
"
|
|
188
|
-
"
|
|
115
|
+
"nickname": "kajidog",
|
|
116
|
+
"fromDate": "2025-11-01",
|
|
117
|
+
"toDate": "2025-11-07"
|
|
189
118
|
}
|
|
190
119
|
}
|
|
191
120
|
```
|
|
192
121
|
|
|
193
|
-
###
|
|
122
|
+
### イベント詳細取得
|
|
194
123
|
|
|
195
124
|
```json
|
|
196
125
|
{
|
|
197
|
-
"name": "
|
|
126
|
+
"name": "get_event_detail",
|
|
198
127
|
"arguments": {
|
|
199
|
-
"
|
|
200
|
-
"daysAhead": 10,
|
|
201
|
-
"includePresentations": true
|
|
128
|
+
"eventId": 12345
|
|
202
129
|
}
|
|
203
130
|
}
|
|
204
131
|
```
|
|
205
132
|
|
|
206
|
-
|
|
207
|
-
- `nickname` を指定すると、そのニックネームでユーザーを検索してイベントを取得します。`userId` と `nickname` の両方が指定された場合は `nickname` が優先されます。
|
|
208
|
-
- `includePresentations` を有効にすると、各イベントの発表詳細を個別に取得します( Connpass API は 1 秒あたり 1 リクエストのレートリミットなので、イベント数が多いと時間がかかります)。省略時は `CONNPASS_INCLUDE_PRESENTATIONS_DEFAULT` の設定が利用されます。
|
|
209
|
-
|
|
210
|
-
## 返り値
|
|
211
|
-
|
|
133
|
+
## 開発
|
|
212
134
|
|
|
213
|
-
|
|
135
|
+
```bash
|
|
136
|
+
# 依存関係をインストール
|
|
137
|
+
pnpm install
|
|
214
138
|
|
|
215
|
-
|
|
139
|
+
# ビルド
|
|
140
|
+
pnpm --filter @kajidog/connpass-mcp-server build
|
|
216
141
|
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
- ウィジェットの HTML は `packages/mcp-server/src/widgets/connpass-events.html` に置いており、`pnpm --filter @kajidog/connpass-mcp-server build` 実行時に `dist/widgets/` へコピーされます。
|
|
220
|
-
- カルーセルでは参加者数バッジや Connpass への外部リンクを表示。`詳細を見る` ボタンを押すと `requestDisplayMode` API で全画面表示に切り替わり、イベント概要・発表セッション・外部リンクを閲覧できます。
|
|
221
|
-
- サーバーをサブパスで公開する場合は `MCP_BASE_PATH` を設定してください(例: リバースプロキシで `/mcp` を `/` にリライトする場合は `MCP_BASE_PATH=/`)。`GET ${MCP_BASE_PATH}` が SSE ストリーム、`${MCP_BASE_PATH}/messages` が POST エンドポイントになります。
|
|
142
|
+
# 開発モード (stdio)
|
|
143
|
+
pnpm --filter @kajidog/connpass-mcp-server dev
|
|
222
144
|
|
|
223
|
-
|
|
145
|
+
# 開発モード (HTTP)
|
|
146
|
+
pnpm --filter @kajidog/connpass-mcp-server dev:http
|
|
147
|
+
```
|
|
224
148
|
|
|
225
|
-
|
|
226
|
-
- ウォッチビルド: `pnpm --filter @kajidog/connpass-mcp-server dev`
|
|
149
|
+
## ライセンス
|
|
227
150
|
|
|
228
|
-
|
|
151
|
+
MIT
|
package/dist/index.d.ts
CHANGED