chore: הוספת שרת MCP של ContextStream ל-.mcp.json - #3208
Conversation
ContextStream is an HTTP MCP, so unlike a stdio server there is nothing
to install and nothing to index per session. That matters here: every
cloud session starts from a fresh container, and a server that needs a
toolchain installed pays that cost on every single one. This one is a
URL and a key.
The vendor's own setup snippet inlines the API key and then says to keep
the file out of version control. That advice does not survive contact
with this setup: in a cloud session it is precisely the repo's .mcp.json
that gets loaded, since ~/.claude/mcp.json does not outlive the
container. Following the instructions literally would mean committing a
live key to GitHub.
So the key is referenced, not written. Claude Code expands ${VAR} inside
both url and headers for http-type entries, which is the pattern the
render entry already uses in this same file — this is the second server
to follow it, not a new convention.
Worth knowing about the failure mode: an unset variable does not stop
the config from loading. Claude Code warns in `claude mcp list` and
passes the literal ${CONTEXTSTREAM_API_KEY} through as the header value,
so a forgotten variable surfaces as an auth rejection that reads like a
bad key rather than a missing one.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DDLdj814WHKMXD4sbS2rDr
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
Reviewer's guide (collapsed on small PRs)Reviewer's Guide.mcp.json is updated to add a second MCP server configuration for ContextStream as an HTTP-based MCP endpoint, using an environment-injected API key header, while leaving the existing Render configuration unchanged. File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
🧯 Dangerous deletes guard reportPolicy: see .cursorrules — dangerous deletions are blocked unless wrapped safely. Summary:
Flagged findings (file:line:snippet): Excluded matches (by path pattern) |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughנוסף לקובץ Changesחיבור שרת MCP
Estimated code review effort: 1 (Trivial) | ~2 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
⏱️ Performance report(No performance test durations collected. Mark tests with |
PR Summary by QodoAdd ContextStream MCP HTTP server config to .mcp.json
AI Description
Diagram
High-Level Assessment
Files changed (1)
|
Code Review by Qodo
1. Missing env var docs
|
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
✨ תיאור קצר
מוסיף את ContextStream כשרת MCP שני ב‑
.mcp.json, לצד Render. שרת HTTP, כלומר אין מה להתקין ואין מה לאנדקס בכל סשן — זה URL ומפתח. המפתח מוזרק כמשתנה סביבה ולא נכתב לקובץ.📦 שינויים עיקריים
פירוט:
.mcp.json: ערךcontextstreamמסוגhttp, מולhttps://mcp.contextstream.io/mcp?default_context_mode=fastX-ContextStream-API-Keyמקבלת${CONTEXTSTREAM_API_KEY}— הרחבת משתנה, לא ערךrenderהקיים🧪 בדיקות
מה נבדק:
type,urlושם הכותרת אומתו מול מה שהספק מפרסםYOUR_API_KEYשנשאר מהתבניתgit check-ignoreמאשר שהקובץ אכן מגיע לריפו ולא מסונן, כלומר ההגנה היחידה על המפתח היא שהוא לא שם📝 סוג שינוי
✅ צ'קליסט
docs/environment-variables.rstו‑services/config_inspector_service.py— לא עודכנו, במכווןלגבי הסעיף האחרון:
RENDER_API_KEY, שכבר יושב באותו קובץ באותה תבנית, לא מופיע באף אחד משני המקומות האלה. התיעוד הזה מתאר משתני ריצה של CodeBot עצמו, ו‑CONTEXTSTREAM_API_KEYנצרך על ידי לקוח ה‑MCP ולא על ידי האפליקציה — היא לעולם לא קוראת אותו.שווה לשים לב לבלבול: המילה MCP ב‑
docs/environment-variables.rstמתייחסת לשירות ה‑MCP ש‑CodeBot מספק, לא ללקוח שצורך שרתים חיצוניים. שתי משמעויות שונות לאותו שם, ולכן מי שיקרא את הצ'קליסט בעתיד עלול "לתקן" את זה בטעות.🧩 השפעות/סיכונים
אין השפעה על פרודקשן — הקובץ נקרא רק על ידי Claude Code בסביבת פיתוח, ולא נטען בזמן ריצה.
הסיכון היחיד הוא תפעולי: המלצת הספק היא להדביק את המפתח לקובץ ולשמור אותו מחוץ לגיט. בסביבת ענן זה בדיוק הפוך —
~/.claude/mcp.jsonלא שורד קונטיינר חדש, ו‑.mcp.jsonשבריפו הוא זה שנטען. ללכת לפי ההוראות כלשונן פירושו לקומיט מפתח חי.🧯 סיכון / החזרה לאחור
מחיקת ערך
contextstreamמהקובץ. אין מיגרציה, אין מצב שמור, ואין תלות של קוד בשינוי.🔗 קישורים
.mcp.json: https://code.claude.com/docs/en/mcpמה שנדרש ממך לפני שזה יעבוד: להגדיר את
CONTEXTSTREAM_API_KEYבהגדרות הסביבה. שים לב למצב הכשל — משתנה שלא הוגדר לא מונע טעינה: Claude Code מזהיר ב‑claude mcp listומעביר את הטקסט${CONTEXTSTREAM_API_KEY}כמו שהוא ככותרת, כך שמשתנה שנשכח נראה כמו מפתח שגוי ולא כמו מפתח חסר.🤖 Generated with Claude Code
https://claude.ai/code/session_01DDLdj814WHKMXD4sbS2rDr
Generated by Claude Code
Summary by Sourcery
Add ContextStream as an additional MCP HTTP server configuration alongside Render in .mcp.json, using an environment-injected API key and avoiding any impact on runtime behavior.
Enhancements:
Build: