-
Notifications
You must be signed in to change notification settings - Fork 0
27 Add mcp server #28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 2 commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,5 +1,5 @@ | ||
| # MCP | ||
| APIDOG_PROJECT_ID=1058162 | ||
| APIDOG_ACCESS_TOKEN= | ||
|
|
||
| # DB | ||
| POSTGRES_USER=chatbot | ||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,74 @@ | ||
| """ | ||
| SSE(Server-Sent Events)エンドポイント | ||
| Apidogでのテスト用シンプル実装 | ||
| """ | ||
|
|
||
| import asyncio | ||
| from collections.abc import AsyncGenerator | ||
|
|
||
| from fastapi import APIRouter | ||
| from fastapi.responses import StreamingResponse | ||
|
|
||
| router = APIRouter() | ||
|
|
||
|
|
||
| async def event_generator() -> AsyncGenerator[str, None]: | ||
| """ | ||
| SSEイベントを生成するジェネレーター | ||
| 5回のイベントを1秒間隔で送信 | ||
| """ | ||
| for i in range(1, 6): | ||
| # SSEフォーマット: "data: メッセージ\n\n" | ||
| yield f"data: Message {i}: Hello from SSE!\n\n" | ||
| await asyncio.sleep(1) | ||
|
|
||
| # 完了イベント | ||
| yield "data: [DONE]\n\n" | ||
|
|
||
|
|
||
| @router.get("/stream") | ||
| async def sse_stream() -> StreamingResponse: | ||
| """ | ||
| シンプルなSSEストリーミングエンドポイント | ||
| 1秒間隔で5つのメッセージを送信し、最後に[DONE]を送信 | ||
| """ | ||
| return StreamingResponse( | ||
| event_generator(), | ||
| media_type="text/event-stream", | ||
| headers={ | ||
| "Cache-Control": "no-cache", | ||
| "Connection": "keep-alive", | ||
| "X-Accel-Buffering": "no", # Nginxのバッファリング無効化 | ||
| }, | ||
| ) | ||
|
|
||
|
|
||
| async def countdown_generator(count: int) -> AsyncGenerator[str, None]: | ||
| """ | ||
| カウントダウンイベントを生成するジェネレーター | ||
| """ | ||
| for i in range(count, 0, -1): | ||
| yield f"event: countdown\ndata: {i}\n\n" | ||
| await asyncio.sleep(1) | ||
|
|
||
| yield "event: complete\ndata: Countdown finished!\n\n" | ||
|
|
||
|
|
||
| @router.get("/countdown/{count}") | ||
| async def sse_countdown(count: int = 10) -> StreamingResponse: | ||
| """ | ||
| カウントダウンSSEエンドポイント | ||
| 指定した数からカウントダウン(デフォルト: 10) | ||
| """ | ||
| # 最大60秒に制限 | ||
| count = min(count, 60) | ||
|
|
||
| return StreamingResponse( | ||
| countdown_generator(count), | ||
| media_type="text/event-stream", | ||
| headers={ | ||
| "Cache-Control": "no-cache", | ||
| "Connection": "keep-alive", | ||
| "X-Accel-Buffering": "no", | ||
| }, | ||
| ) |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🏁 Script executed:
Repository: zucky2021/ai-chatbot-api
Length of output: 109
🌐 Web query:
MCP model context protocol environment variable syntax ${env:} vs ${}💡 Result:
Short answer
Details and practical notes
Quick recommendations
Sources
[0] Voice Mode MCP config — ".mcp.json files: environment-variable substitution is NOT supported" (example showing expansion does not work).
[1] OpenAI / Codex MCP docs — MCP config fields and env handling (shows env/env_vars and usage).
[2] Jetify / Testpilot MCP docs — examples using ${VAR}, ${VAR:-default} and $VAR.
[3] GenAIScript / Microsoft doc — lists both ${env:VAR} and ${VAR} and gives examples of interpolation.
[4] Ona / Gitpod-style docs — shows ${file:...}, ${exec:...}, ${secret:...} usage for secrets/files.
🏁 Script executed:
# Check the full context of the .cursor/mcp.json file cat -n .cursor/mcp.jsonRepository: zucky2021/ai-chatbot-api
Length of output: 1021
🏁 Script executed:
Repository: zucky2021/ai-chatbot-api
Length of output: 432
want: MCP環境変数の参照構文を
${env:APIDOG_ACCESS_TOKEN}に戻してください。環境変数の参照が
${env:APIDOG_ACCESS_TOKEN}から${APIDOG_ACCESS_TOKEN}に変更されています。MCP設定では${env:VAR}の明示的な形式が推奨されており、短縮形${VAR}の対応状況はクライアント実装によって異なります。Cursor IDEやClaude Desktopなど利用するMCPクライアントで確実に動作させるため、元の明示的な構文${env:APIDOG_ACCESS_TOKEN}の使用をお勧めします。🤖 Prompt for AI Agents