morning-brief-mcp
Morning Brief MCP
独立した決定論的なA株モーニングブリーフサービスです。AlphaAgent、XQ、内部データベース、LLM Keyには依存せず、
標準のMCP stdio transportを介して既存のMorningBriefServiceを公開し、通常のPython呼び出し方式も保持します。
機能
サービスは4つのMCPツールを公開します:
generate_morning_brief(target_date=None, output_format="json"|"markdown"):完全なモーニングブリーフを生成します。get_morning_news(target_date=None, categories=None, limit_per_category=5):ウィンドウフィルタリング、重複排除、クラスタリング、分類、関連性ソートを完了したイベントを返します。get_previous_close_context(target_date=None):そのモーニングブリーフに対応する前営業日のA株市場背景を返します。get_news_coverage(target_date=None):ニュースプロバイダーのステータス、ロール、メトリクス、カバレッジを返します。生のペイロードや認証情報は含みません。
すべてのツールは確認済みのA株対象営業日を対象としており、結果は決定論的なソースエビデンスの整理であり、投資アドバイスを構成するものではありません。
環境とインストール
Python 3.11+
MCP Python SDK
>=2.0.0,<3(現在の受け入れ安定版:2.0.0)HITHINK_FINANCE_API_KEY(取引カレンダーと前営業日の市場背景用)
モーニングブリーフのニュースは国内の公開金融Webプロバイダーから直接取得され、Brave Keyは不要です。実際の.envをコミットしないでください:
$env:HITHINK_FINANCE_API_KEY="your-key"python -m venv .venv
# Windows
.venv\Scripts\python -m pip install -e ".[test]"
# macOS/Linux
.venv/bin/python -m pip install -e ".[test]"通常のPython呼び出し
from morning_brief_mcp.renderers.markdown import render_markdown
from morning_brief_mcp.services.morning_brief import MorningBriefService
service = MorningBriefService()
try:
report = service.generate("2026-08-17")
markdown = render_markdown(report)
finally:
service.close()MCP stdio 起動
インストール後に直接起動:
morning-brief-mcp一般的なcommand + args + envクライアント設定も使用できます:
{
"mcpServers": {
"morning-brief-mcp": {
"command": "python",
"args": ["-m", "morning_brief_mcp.server"],
"env": {
"HITHINK_FINANCE_API_KEY": "${HITHINK_FINANCE_API_KEY}"
}
}
}
}target_date は厳密にYYYY-MM-DDを使用する必要があります。省略時はAsia/Shanghaiの現在日付を使用し、
その後もHiThink取引カレンダーで検証されます;非取引日はtarget_not_trading_dayを返し、静かに日付を変更することはありません。
日付、パラメータ、設定、上流エラーはそれぞれ安定したinvalid_request、
target_not_trading_day、provider_unavailable、upstream_error構造を返します。業務レポートの
status="partial"は依然として成功したツール結果です。例えば、単一のニュースソースが失敗しても、他のデータでモーニングブリーフを生成するのに十分な場合です。
stdioサーバーはstdoutにデバッグ情報を出力しません;stdoutはMCPプロトコルのみを運びます。
データアーキテクチャ
ニュース発見はデフォルトで国内金融サイトの公開Webインターフェースに直接アクセスします:
Provider | ロール | 履歴機能 | Tier |
财联社 CLS | primary |
| 2 |
东方财富 7×24 | primary |
| 2 |
华尔街见闻 | primary |
| 2 |
金十 | supplemental |
| 2 |
MKTNews | supplemental |
| 3 |
东方财富个股新闻 | supplemental |
| 2 |
巨潮公告 | supplemental |
| 1 |
少なくとも2つの異なるupstreamドメインのprimaryプロバイダーが実際にnews_window.startまでページングした場合、このラウンドではGDELTは呼び出されません。完全なウィンドウカバレッジが不十分な場合のみ、GDELTを最後のフォールバックとして使用します;latest-onlyの成功は完全なウィンドウカバレッジとしてはカウントされません。
HiThinkは取引カレンダー、前営業日、previous-close市場背景のみを担当し、ニュース発見には関与しません。
ニュースウィンドウとパイプライン
モーニングブリーフのウィンドウは固定で、前営業日の15:00から対象営業日の08:30まで、タイムゾーンは
Asia/Shanghaiで、両方の境界を含みます。すべてのプロバイダーはまず統一フィールドにマッピングされます:
id、title、url、canonical_url、source、domain、
published_at、description、language、category、tags、
source_tier、provider、raw_source_id。
その後、既存のdeterministicパイプラインを続行します:
exact time filter → canonicalize → dedup/event cluster → classify → relevance → today_watch
同一イベントのマルチソース報道は1つのクラスタのみを表示し、related_sources と
related_count を保持します。代表項目はTier、時間、情報の完全性によって決定されます。descriptionは上流の実際のbrief/summary/content snippet/hoverのみを保存し、プログラムによる拡張は行いません。
レート制限、障害分離とセキュリティ
各ドメインはHTTPセッションとレートリミッターを共有します。リクエストにはtimeout、有界リトライ、
Retry-After、指数バックオフ、ジッターがあります。东方财富はデフォルトで直列かつ最小間隔1秒です。単一のプロバイダー
障害はそのstatus、warning、metricsのみを記録し、他のプロバイダーをブロックしません。
ページングはすべてDOMESTIC_MAX_PAGESとDOMESTIC_MAX_ITEMSによって制限されます。各プロバイダーは
ページ数、生データ件数、最古時刻、停止理由、HTTP request/429/403/retryカウントを記録します。
API Keyは環境変数からのみ読み取られます;ツールパラメータにはならず、ツールの説明、 ログ、schema、MCP resultにも表示されません。診断ツールはリクエストHeader、完全なupstream payload、 事前署名URL、内部secretを返しません。
テストと実際のスモークテスト
デフォルトのテストは完全にオフラインで、すべてのHTTP動作はfixtures/MockTransportを使用します:
PYTHONPATH=src python -m pytestHiThink Keyを設定した後、公式MCP Pythonクライアントを使用して実際のサブプロセススモークテストを実行し、 ServiceとMCPの主要フィールドを比較できます:
python scripts/stdio_smoke.pyコンテンツとライセンスの注意事項
これらのプロバイダーは公開Webインターフェースを使用し、データ発見とリンク集約のみを目的としています。オープンソース実装のライセンスは
上流のニュースコンテンツのライセンスとは異なります;本番環境または商用デプロイの前に、利用者は各上流サービスの利用規約、
スクレイピングポリシー、コンテンツ使用ライセンスを自ら確認する必要があります。参考実装とライセンス記録は
THIRD_PARTY_NOTICES.md にあります。
本サービスは市場情報の整理と研究のために使用され、投資アドバイスを構成するものではありません。
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Read-only China A-share data for AI agents: market, limit-up, capital flow and disclosures.
Real SEC, 13F, insider, congress & macro data your AI agent can cite. Hosted MCP, 24 tools.
The financial MCP for AI agents - 90+ financial tables, SEC filings, signals, alt-data.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Mars-0310/morning-brief-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server