intelligence-hub-mcp
🌐 intelligence-hub-mcp
Multi-Domain Intelligence Intake, 80:20 Crossover Synthesis & Publishing MCP Server
Recopila en paralelo las últimas tendencias de diversos campos punteros (IA/vibe coding, biología sintética, neurociencia, criptoactivos, medicina, ingeniería inversa) y produce insights estructurados mediante separación de Pareto 80:20 y análisis de cruces (Crossover) entre disciplinas.
🏛️ Ecosistema Hermes y arquitectura Tri-MCP
Este servidor MCP, bajo Hermes AI Agent (Master Orchestrator), se integra como un par con la exploración académica profunda (ocr-mcp-server) y la distribución de medios propia (news-site-coral).
┌───────────────────────────────┐
│ 🪐 Hermes AI Agent │
│ (Master Orchestrator) │
└───────┬───────────────┬───────┘
│ │
┌───────────────┴────┐ ┌────┴──────────────┐
│ intelligence-hub-mcp│ │ ocr-mcp-server │
│ (80:20 Crossover) │ │ (Deep MAD Review) │
└────────────────────┘ └───────────────────┘
│ │
└─────────┬─────────┘
▼
┌───────────────────────────────┐
│ news-site-coral │
│ (WIRED Narrative Publishing) │
└───────────────────────────────┘Intake multicapa (
intake/):Tipo A (RSS/Atom): bioRxiv (SynthBio / Neuroscience), medRxiv, Zenn, Ethereum Research, Paradigm
Tipo B (API pública): Hacker News (Firebase API), arXiv (Atom API)
Tipo C (navegador/API no oficial): GitHub Trending (Phase 2)
Salto inteligente: evita automáticamente solicitudes frecuentes innecesarias mediante la comprobación de
interval_hours
Inteligencia y persistencia (
storage/yanalysis/):LanceDB (PyArrow): persistencia de metadatos de
IntelligenceRecord+ incrustaciones vectoriales de 768dimAnálisis de Pareto 80:20: observación sistemática 80% + enclaves de serendipia 20%
Extracción de cruces: extracción mediante LLM de analogías estructurales y posibilidades de aplicación mutua entre diferentes géneros
Publicación e integración (
mcp/):Añade
suggested_themes/suggested_tagsa los datos estructurados (CrossoverDigest) y, a través de Hermes Agent, realiza la distribución multicanal a X (hilo de 140 caracteres) / Note (ensayo) / Coral Magazine (HTML de estructura de 3 niveles estilo WIRED).
Related MCP server: worldmonitor-mcp
🚀 Inicio rápido
Sincronización de dependencias
uv sync --all-groupsEjecución de pruebas
uv run pytestVerificación de límites entre capas (Spaghetti Guard)
npx @naoya.k/spaghetti-guard checkEjecución del CLI de recopilación periódica (Cron / ejecución por lotes)
uv run intelligence-hub-cronInicio del servidor MCP (transporte Stdio)
uv run intelligence-hub-mcp🛠️ Herramientas MCP públicas
fetch_intelligence_feed(category=None, limit_per_channel=None, force_fetch=False): obtiene los feeds más recientes en paralelo y los guarda en LanceDB (con comprobación deinterval_hours)search_intelligence(query, category=None, limit=10): búsqueda por similitud semántica de vectoreslist_intelligence_records(category=None, is_serendipity=None, limit=50): lista filtrada de artículos guardadosgenerate_crossover_digest(period="daily", fetch_latest_first=True): genera el informe de cruces interdisciplinarios y los datos estructurados con etiquetas recomendadas de Coralget_feed_status(): consulta la configuración de los feeds monitoreados, el estado de los intervalos y las estadísticas de 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.-