intelligence-hub-mcp
🌐 intelligence-hub-mcp
Multi-Domain Intelligence Intake, Deep Academic Research, Tech Explainer, 80:20 Crossover Synthesis & Multi-Channel Publishing MCP Server
異なる複数の先端分野(自律型AI/開発動向、合成生物学、神経科学、暗号プロトコル、分子医療、低レイヤー解析)の最新動向を並行収集し、ocr-mcp-server 学術資源(4大学術DB・PDF全文OCR・MAD査読)のフル活用 & 4大目的別コンテンツ生成(実践技術ブログ / 先端論文解説 / プロトコル構造論 / WIRED交差点特集) を行って自社メディア(Coral Magazine)やSNSへ自動配信するインテリジェンス・ハブ MCP サーバー。
🏛️ Hermes エコシステム & Tri-MCP 協調アーキテクチャ
本 MCP サーバーは Hermes AI Agent (Master Orchestrator) の傘下で、学術深掘り(ocr-mcp-server)および自社メディア配信(news-site-coral)と対等なピアとして連携します。
┌───────────────────────────────┐
│ 🪐 Hermes AI Agent │
│ (Master Orchestrator) │
└───────┬───────────────┬───────┘
│ │
┌───────────────┴────┐ ┌────┴──────────────┐
│ intelligence-hub-mcp│◄────┤ ocr-mcp-server │
│ (Deep Research/Pub)│ │ (PDF OCR/MAD/DBs) │
└────────────────────┘ └───────────────────┘
│ │
└─────────┬─────────┘
▼
┌───────────────────────────────┐
│ news-site-coral │
│ (WIRED/Tech Deep-Dive Pub) │
└───────────────────────────────┘Related MCP server: worldmonitor-mcp
🎯 目的別 4 大コンテンツ生成ジャンル
情報源の特性と読者の目的に応じて、以下の 4 つの専用パイプラインで高品質な記事を生成します。
ジャンル | 対象ソース | 読者・用途 | 必須構成要素 |
① OSS・ツール徹底解剖(Tech Deep-Dive) | GitHub Trending, HN Show, Zenn | 実務エンジニア向け「導入・活用」 | ・TL;DR (要点・置換対象)・How it works (仕組み・高速化原理)・Code (インストール & コードスニペット)・Comparison (競合との定量比較表) |
② 先端論文・サイエンス解説(Research Digest) | arXiv (cs.AI/RO), bioRxiv, medRxiv+ | リサーチャー/AI技術者向け「最新理論の深掘り」 | ・完全書誌カード (所属大学・学会採択・年月)・研究の系譜 (先行サーベイ・引用グラフ)・生ベンチマーク表 (PDF Table抽出データ)・MAD 査読クリティーク (強み・限界) |
③ プロトコル・セキュリティ構造論(Protocol & Security) | Ethereum Research, Vitalik Blog, 逆解析 | Web3/セキュリティエンジニア向け「設計思想・安全性」 | ・設計背景 (なぜこの仕様が必要か)・暗号学的・プロトコル的仕組み・攻撃ベクトルとセキュリティ対策 |
④ 異分野交差点ナラティブ(WIRED Crossover) | 上記複数ドメインの横断 | 意思決定者/知的読者向け「大局的パラダイムシフト」 | ・Scene-setting (Italicリード文)・The Paradigm Shift (越境シナジー+比較表)・The Philosophical Horizon (未来への問い) |
🛡️ 学術資源フル活用の 4 層ディープ・リサーチ
Deep Fetch & 4大 学術DB:
openalex_client/crossref_client/semantic_scholar_clientから、著者所属、学会採択、引用グラフ、先行サーベイを自動解決。PDF Resolver & Surya OCR: arXiv / bioRxiv の原著 PDF を自動解決し、Table(生データ数値)や数式を含む全文を Markdown 抽出。
Multi-Agent Debate (MAD) 査読: Proponent(推進派)、Critic(批判派・再現性検証)、Judge(総括)による多角的査読レポートを生成。
Quality Gate & Multi-Channel Distribution: Coral Magazine(HTML)、X (140字 3連スレッド)、Note (エッセイ) を同時生成。
🚀 クイックスタート
依存関係の同期
uv sync --all-groups全テストの実行
uv run pytestレイヤー境界検証 (Spaghetti Guard)
npx @naoya.k/spaghetti-guard check自動収集 & パブリッシュ CLI の実行
# 全チャンネル収集 + ジャンル別記事起稿(例: 論文解説)
uv run intelligence-hub-publish --genre paper
# OSS 技術解剖
uv run intelligence-hub-publish --genre tech
# プロトコル構造論
uv run intelligence-hub-publish --genre protocol
# WIRED 異分野交差点特集
uv run intelligence-hub-publish --genre crossoverMCP サーバーの起動 (Stdio Transport)
uv run intelligence-hub-mcp🛠️ 公開 MCP ツール
fetch_intelligence_feed(category=None, limit_per_channel=None, force_fetch=False): 最新フィードを並行取得し LanceDB に保存 (interval_hours判定付き)search_intelligence(query, category=None, limit=10): セマンティックベクトル類似度検索list_intelligence_records(category=None, is_serendipity=None, limit=50): 保存済み記事のフィルタ一覧generate_crossover_digest(period="daily", fetch_latest_first=True): 異分野交差点レポート & Coral 推奨タグ付き構造化データを生成get_feed_status(): 監視中フィードの設定・インターバル状態・LanceDB 統計確認
Available Tools
5 toolsfetch_intelligence_feedA
Fetches the latest intelligence items across configured feeds (RSS, HN, arXiv) and saves them to LanceDB.
Args: category: Optional category filter. limit_per_channel: Optional items per channel override. force_fetch: If True, forces fetch regardless of interval_hours.
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | ||
| force_fetch | No | ||
| limit_per_channel | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. It discloses the key side-effect (saving to LanceDB) and reveals conditional fetch behavior through 'force_fetch: If True, forces fetch regardless of interval_hours.' It doesn't cover duplicate handling or failure behavior, but the core side-effects and throttling context are present.
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 clear summary sentence followed by a tight, minimally verbose Args block. It is front-loaded with the most important information (fetch and persist), and every sentence earns its place without repetition or filler.
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 definition covers core behavior, all parameters, and external sources, and an output schema exists so return-value documentation is not required. However, it leaves gaps around when to prefer this tool over sibling search/list tools and around edge-case behavior such as duplicate handling, overwriting, or network failures, making it only partially complete for a tool with write side-effects.
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?
Schema description coverage is 0%, so the Args block is the only parameter documentation. It meaningfully explains all three parameters: category as an optional filter, limit_per_channel as a per-channel override, and force_fetch as an interval override. This adds functional understanding well beyond the bare type/default information in the schema.
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 opens with a precise verb-object-effect statement: 'Fetches the latest intelligence items across configured feeds (RSS, HN, arXiv) and saves them to LanceDB.' This clearly identifies the tool as an ingestion operation, which distinguishes it from sibling tools like search_intelligence and list_intelligence_records that concern querying existing data.
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 clearly frames the tool as a fetch-and-persist operation, giving an agent enough context to understand it should be used for refreshing/ingesting data rather than searching, listing, or generating digests. However, it doesn't explicitly name sibling tools or state when-not-to-use it, so it narrowly misses the 'explicit alternatives' bar.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_crossover_digestB
Generates an interdisciplinary crossover report combining 80% core tracking and 20% serendipity with WIRED-style narrative Markdown.
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | daily | |
| fetch_latest_first | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It usefully discloses the output style and composition ratio, but it does not mention side effects, persistence, required permissions, or whether the tool reads from the feed or external sources. This is adequate but incomplete.
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 front-loaded sentence with no filler. Every phrase adds relevant information about the output and style.
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 output schema exists, both parameters are optional with sensible defaults, and the names are self-explanatory enough for a basic no-argument invocation. However, the definition is only minimally complete because it omits parameter semantics and usage guidance relative to sibling tools.
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?
Schema description coverage is 0% and the description does not explain 'period' or 'fetch_latest_first'. The agent gets no additional meaning beyond the parameter names and defaults, so the description fails to compensate for the schema's lack of explanatory text.
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 names a specific verb ('Generates') and resource ('interdisciplinary crossover report'), then adds distinguishing detail about the composition (80% core tracking, 20% serendipity) and output format (WIRED-style narrative Markdown). This makes it easy to differentiate from the sibling fetch/search/list/status tools.
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?
There is no guidance about when this tool should be used instead of sibling tools such as fetch_intelligence_feed or search_intelligence. No preconditions, exclusions, or alternative conditions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_feed_statusA
Returns the current registry of feed channels and LanceDB storage statistics.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. 'Returns' implies a read-only operation, but it does not explicitly state side effects, permission requirements, or whether the statistics are live or cached. For a status tool this is adequate but not fully transparent.
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?
A single sentence with no filler. The action and key resources are front-loaded, and every term adds specificity.
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 zero-parameter status tool with an output schema available, the description covers the core purpose sufficiently. It is slightly terse about what exactly constitutes the 'registry' of feed channels, but nothing essential is missing for invocation.
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?
There are zero parameters, so the baseline of 4 applies. The description correctly does not attempt to document parameters that do not exist.
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 states the specific action 'Returns' and two distinct resources: the current registry of feed channels and LanceDB storage statistics. This clearly separates it from sibling tools like fetch_intelligence_feed and search_intelligence, which are about retrieving or searching content rather than reporting status.
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 listed siblings. There is no mention of use cases, conditions, or alternatives, so an agent must infer applicability solely from the tool name and generic description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_intelligence_recordsB
Lists stored intelligence records with optional category or serendipity filtering.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| category | No | ||
| is_serendipity | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the disclosure burden. 'Lists stored intelligence records' makes clear this is a read-only enumeration of persisted records, with no obvious side effects, but it does not disclose ordering, pagination, or how filtering behaves beyond the parameter names.
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?
A single sentence that front-loads the action and resource, then adds the two filter options. Every phrase is functional and there is no redundant filler.
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, fully optional list operation this is minimally viable, especially with an output schema present. However, the absence of usage guidance and parameter detail, combined with zero annotations, leaves some ambiguity about when to call it and what the filters accept.
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?
Schema description coverage is 0%, so the description must compensate. It adds that category and serendipity are filters, which helps interpret the nullable inputs, but it does not explain the limit parameter or what valid category/serendipity values look like.
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 ('Lists') and a specific resource ('stored intelligence records'), and it conveys the optional filtering dimensions. It does not explicitly name sibling tools, but the wording clearly separates listing from searching or fetching a feed.
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 given about when to use this tool instead of search_intelligence or fetch_intelligence_feed. The optional filters are mentioned, but there is no explanation of when to apply category vs. serendipity filtering.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_intelligenceB
Searches stored intelligence records using semantic vector search in LanceDB.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | ||
| category | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only mentions semantic vector search in LanceDB, hinting at similarity-based matching, but does not state whether the operation is read-only, how results are ordered, whether there is pagination, or any other side effects.
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 that front-loads the core purpose. However, the mention of 'LanceDB' is an implementation detail that may not help an agent select or invoke the tool, though it does not waste significant space.
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 tool with three parameters and no annotation coverage, the description is too thin. It omits parameter semantics and usage guidance, leaving the agent to infer those from the schema and sibling names. The output schema exists, so return values may be covered elsewhere, but the overall context is incomplete.
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?
Schema description coverage is 0% and the description does not add any meaning to the parameters (query, limit, category). Since the schema itself has only type/default information, the description should explain how these parameters affect the search, but it provides no such information.
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 clearly states a specific verb ('Searches') and resource ('stored intelligence records') and distinguishes the tool from siblings by specifying 'semantic vector search in LanceDB.' This clearly separates it from list_intelligence_records, which likely does non-semantic listing.
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 implies the tool is for semantic vector search rather than exact or structural queries, but it provides no explicit when-to-use versus alternatives, and does not mention any exclusions or routing to sibling tools. The usage context is only implied by the semantic search 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.
5 tool updates
v0.1.0- First observed
fetch_intelligence_feed - First observed
generate_crossover_digest - First observed
get_feed_status - First observed
list_intelligence_records - First observed
search_intelligence
TDQS
Scored across 5 tools
Each tool targets a distinct action: fetching, searching, listing, digesting, and status reporting. Search and list both retrieve stored records but are differentiated by semantic search versus filtered listing, so there is only minor potential confusion.
All five tools follow a consistent verb_noun pattern with underscore separators (fetch_, search_, list_, generate_, get_). No mixed conventions or ambiguous generic verbs.
Five tools is well-scoped for an intelligence aggregation hub. Each tool serves a clear part of the workflow without redundancy or bloat.
The set covers the core workflow: ingest, retrieve, search, synthesize, and monitor. Missing explicit update/delete operations and feed management are minor gaps since records are likely immutable and feeds may be configured externally.
Maintenance
Related MCP Connectors
MCP server for VC pitch-deck scoring, thesis-fit matching, and deal-flow management.
One MCP server over 253 data sources: Reddit, LinkedIn, YouTube, G2, search and AI answers.
MCP server for building and testing AI agents with multi-model experimentation and insights.
Discovery MCP for 11 intelligence domains plus LENS with live tools, routing and endpoints.
Related MCP Servers
AlicenseBqualityCmaintenanceMCP server that turns any audio or video source into structured, searchable intelligence for agents, enabling download, transcription, semantic search, speaker identification, and more.225MIT- AlicenseNot gradedqualityDmaintenanceMCP server wrapping worldmonitor global intelligence dashboard, exposing 140 tools across 32 services for live market, geopolitical, military, cyber, climate, and supply chain data.MIT
- FlicenseAqualityDmaintenanceMCP server that provides access to 14 OSINT data sources including government, research, corporate, and news APIs, enabling search, preview, and retrieval of public intelligence data.4-
- FlicenseNot gradedqualityFmaintenanceEditorial intelligence MCP server that helps agents discover stories worth writing about by analyzing primary sources, ranking angles, and turning signal into publishable drafts.-