AI research intelligence for AI, ML, NLP, vision and robotics with citations and entity graphs.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
All papers by a researcher, with their position on each paper. Uses fuzzy name matching (LIKE) to handle name variations. Returns papers sorted newest first. Args: author_name: Researcher name, e.g. 'Yann LeCun', 'lecun' (partial match works) limit: Max results (default: 20, max: 50)
BrunoSan API Key — brunosan.de/intelligence/
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
All papers by a researcher, with their position on each paper. Uses fuzzy name matching (LIKE) to handle name variations. Returns papers sorted newest first. Args: author_name: Researcher name, e.g. 'Yann LeCun', 'lecun' (partial match works) limit: Max results (default: 20, max: 50)
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| api_key | string | BrunoSan API Key — brunosan.de/intelligence/ |
| author_name* | string |
{
"type": "object",
"title": "arxiv_author_papersArguments",
"required": [
"author_name"
],
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 20
},
"api_key": {
"type": "string",
"title": "Api Key",
"default": "",
"description": "BrunoSan API Key — brunosan.de/intelligence/"
},
"author_name": {
"type": "string",
"title": "Author Name"
}
}
}Citation graph for a paper — who cites it, or what does it cite? direction='cited_by': Papers in our database that cite this paper. direction='citing': Papers that this paper cites (its references). depth=2: Expands one hop further (depth-2 neighbors). Hard cap: 200 total. Args: arxiv_id: ArXiv paper ID, e.g. '2402.01234' direction: 'cited_by' (inbound) or 'citing' (outbound, default: cited_by) depth: Graph depth: 1 or 2 (default: 1)
| Argument | Type | Description |
|---|---|---|
| depth | integer | |
| api_key | string | BrunoSan API Key — brunosan.de/intelligence/ |
| arxiv_id* | string | |
| direction | string |
{
"type": "object",
"title": "arxiv_citation_networkArguments",
"required": [
"arxiv_id"
],
"properties": {
"depth": {
"type": "integer",
"title": "Depth",
"default": 1
},
"api_key": {
"type": "string",
"title": "Api Key",
"default": "",
"description": "BrunoSan API Key — brunosan.de/intelligence/"
},
"arxiv_id": {
"type": "string",
"title": "Arxiv Id"
},
"direction": {
"type": "string",
"title": "Direction",
"default": "cited_by"
}
}
}Papers that mention BOTH entity A and entity B. Answers questions like: - 'Which papers use both GPT-4 and RLHF?' - 'Where do LoRA and MMLU appear together?' - 'Papers combining RAG and Chain-of-Thought?' The intersection reveals research that explicitly bridges two concepts. Args: entity_a: First entity name, e.g. 'GPT-4', 'LoRA', 'MMLU' entity_b: Second entity name, e.g. 'RLHF', 'Chain-of-Thought' date_from: ISO date filter date_to: ISO date filter limit: Max results (default: 20, max: 50)
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| api_key | string | BrunoSan API Key — brunosan.de/intelligence/ |
| date_to | any | |
| entity_a* | string | |
| entity_b* | string | |
| date_from | any |
{
"type": "object",
"title": "arxiv_co_occurrenceArguments",
"required": [
"entity_a",
"entity_b"
],
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 20
},
"api_key": {
"type": "string",
"title": "Api Key",
"default": "",
"description": "BrunoSan API Key — brunosan.de/intelligence/"
},
"date_to": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Date To",
"default": null
},
"entity_a": {
"type": "string",
"title": "Entity A"
},
"entity_b": {
"type": "string",
"title": "Entity B"
},
"date_from": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Date From",
"default": null
}
}
}How often is an entity mentioned over time? Shows the rise (or fall) of a benchmark, model, method, or dataset across the research literature — per month, quarter, or year. Example: 'LoRA' — watch it explode in 2023-2024. Example: 'BERT' — watch it decline as LLMs dominate. Args: entity_name: Entity to track, e.g. 'LoRA', 'MMLU', 'RAG', 'GPT-4' granularity: Time grouping: month (default), quarter, year
| Argument | Type | Description |
|---|---|---|
| api_key | string | BrunoSan API Key — brunosan.de/intelligence/ |
| entity_name* | string | |
| granularity | string |
{
"type": "object",
"title": "arxiv_entity_trendArguments",
"required": [
"entity_name"
],
"properties": {
"api_key": {
"type": "string",
"title": "Api Key",
"default": "",
"description": "BrunoSan API Key — brunosan.de/intelligence/"
},
"entity_name": {
"type": "string",
"title": "Entity Name"
},
"granularity": {
"type": "string",
"title": "Granularity",
"default": "month"
}
}
}Full paper object with all connected data. Returns: paper metadata, author list with positions, matched entities, references (up to 100), and linked GitHub repos. Args: arxiv_id: ArXiv ID, e.g. '2402.01234' or '2402.01234v2'
| Argument | Type | Description |
|---|---|---|
| api_key | string | BrunoSan API Key — brunosan.de/intelligence/ |
| arxiv_id* | string |
{
"type": "object",
"title": "arxiv_get_paperArguments",
"required": [
"arxiv_id"
],
"properties": {
"api_key": {
"type": "string",
"title": "Api Key",
"default": "",
"description": "BrunoSan API Key — brunosan.de/intelligence/"
},
"arxiv_id": {
"type": "string",
"title": "Arxiv Id"
}
}
}Institution ranking by paper count. Primary signal: author_affiliations extracted from ArXiv HTML. Secondary signal (include_github_orgs=True): adds GitHub org counts as a complementary signal. Many papers have no affiliation in HTML but do have a GitHub org link — combining both gives a fuller picture. Note: affiliation data is extracted from HTML and may be incomplete (fetch completion is reported live by arxiv_pipeline_status; extraction quality is a separate signal). Args: date_from: ISO date filter date_to: ISO date filter include_github_orgs: Also show GitHub org ranking as second signal limit: Max results (default: 20, max: 50)
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| api_key | string | BrunoSan API Key — brunosan.de/intelligence/ |
| date_to | any | |
| date_from | any | |
| include_github_orgs | boolean |
{
"type": "object",
"title": "arxiv_institution_rankingArguments",
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 20
},
"api_key": {
"type": "string",
"title": "Api Key",
"default": "",
"description": "BrunoSan API Key — brunosan.de/intelligence/"
},
"date_to": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Date To",
"default": null
},
"date_from": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Date From",
"default": null
},
"include_github_orgs": {
"type": "boolean",
"title": "Include Github Orgs",
"default": false
}
}
}Most cited papers — ranked by inbound citation count. This answers the question every researcher, VC, and journalist asks first: 'What are the most influential papers in AI right now?' Counts how many papers in our database cite each target paper. Only papers with resolvable ArXiv IDs in their references are counted. Args: category: Filter citing papers by category (optional) date_from: Only count citations from papers published from this date date_to: Only count citations from papers published until this date limit: Max results (default: 20, max: 50)
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| api_key | string | BrunoSan API Key — brunosan.de/intelligence/ |
| date_to | any | |
| category | any | |
| date_from | any |
{
"type": "object",
"title": "arxiv_most_citedArguments",
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 20
},
"api_key": {
"type": "string",
"title": "Api Key",
"default": "",
"description": "BrunoSan API Key — brunosan.de/intelligence/"
},
"date_to": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Date To",
"default": null
},
"category": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Category",
"default": null
},
"date_from": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Date From",
"default": null
}
}
}Full system status — database counts, pipeline progress, frontier, quality. Returns: - Paper/author/entity/ref/repo counts - Pipeline progress: html_fetched %, whitelist_matched %, llm_processed % - Frontier: how far back the backfill has reached - Quality report: last run timestamp and overall status - Quality log: last 5 quality check runs from quality_log table
| Argument | Type | Description |
|---|---|---|
| api_key | string | BrunoSan API Key — brunosan.de/intelligence/ |
{
"type": "object",
"title": "arxiv_pipeline_statusArguments",
"properties": {
"api_key": {
"type": "string",
"title": "Api Key",
"default": "",
"description": "BrunoSan API Key — brunosan.de/intelligence/"
}
}
}GitHub repository landscape — which orgs and repos produce research code? Shows the open-source output of the research community. 'openai', 'google-deepmind', 'microsoft', 'huggingface' etc. ranked by how many papers link to their repos. org_filter='huggingface' shows all HuggingFace repos with papers. Args: org_filter: Filter to a specific GitHub org, e.g. 'openai', 'google-deepmind' date_from: Only papers published from this date date_to: Only papers published until this date limit: Max results per ranking (default: 20, max: 50)
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| api_key | string | BrunoSan API Key — brunosan.de/intelligence/ |
| date_to | any | |
| date_from | any | |
| org_filter | any |
{
"type": "object",
"title": "arxiv_repo_landscapeArguments",
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 20
},
"api_key": {
"type": "string",
"title": "Api Key",
"default": "",
"description": "BrunoSan API Key — brunosan.de/intelligence/"
},
"date_to": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Date To",
"default": null
},
"date_from": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Date From",
"default": null
},
"org_filter": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Org Filter",
"default": null
}
}
}Full-text search over the live cs.AI/ML paper graph using FTS5. Searches title AND abstract. Supports boolean operators: AND, OR, NOT, phrase matching ("exact phrase"), prefix (term*). Args: query: FTS5 search query. E.g. 'LoRA fine-tuning', '"chain of thought"', 'RLHF NOT PPO' category: Filter by primary category. Options: cs.AI, cs.LG, cs.CL, cs.CV, cs.RO date_from: ISO date filter, e.g. '2024-01-01' date_to: ISO date filter, e.g. '2025-12-31' empirical_only: Only papers marked as empirical by LLM pass (if available) has_code_only: Only papers with code release (llm_has_code=1, if available) limit: Max results (default: 20, max: 50)
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| query* | string | |
| api_key | string | BrunoSan API Key — brunosan.de/intelligence/ |
| date_to | any | |
| category | any | |
| date_from | any | |
| has_code_only | boolean | |
| empirical_only | boolean |
Top researchers ranked by paper count, with role filter. role='last_author' is the PI filter — finds lab directors and group leaders who drive research agendas. In academic AI, the last author IS the boss. role='first_author' finds the PhD students and postdocs doing the work. role='any' counts all papers regardless of position. Args: role: Author position filter: any (default), first_author, last_author category: Filter by primary category: cs.AI, cs.LG, cs.CL, cs.CV, cs.RO date_from: ISO date filter, e.g. '2024-01-01' date_to: ISO date filter, e.g. '2025-12-31' limit: Max results (default: 20, max: 50)
| Argument | Type | Description |
|---|---|---|
| role | string | |
| limit | integer | |
| api_key | string | BrunoSan API Key — brunosan.de/intelligence/ |
| date_to | any | |
| category | any | |
| date_from | any |
{
"type": "object",
"title": "arxiv_top_authorsArguments",
"properties": {
"role": {
"type": "string",
"title": "Role",
"default": "any"
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 20
},
"api_key": {
"type": "string",
"title": "Api Key",
"default": "",
"description": "BrunoSan API Key — brunosan.de/intelligence/"
},
"date_to": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Date To",
"default": null
},
"category": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Category",
"default": null
},
"date_from": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Date From",
"default": null
}
}
}Entity ranking by mention count across all papers. title_only=True is a powerful relevance filter: a paper mentioning MMLU in the title IS about MMLU, not just using it as one of many benchmarks. Args: type: Filter by entity type: benchmark, model, method, dataset (optional, default: all) date_from: Only count mentions in papers published from this date date_to: Only count mentions in papers published until this date title_only: Only count mentions where entity appears in the paper title limit: Max results (default: 20, max: 50)
| Argument | Type | Description |
|---|---|---|
| type | any | |
| limit | integer | |
| api_key | string | BrunoSan API Key — brunosan.de/intelligence/ |
| date_to | any | |
| date_from | any | |
| title_only | boolean |
{
"type": "object",
"title": "arxiv_top_entitiesArguments",
"properties": {
"type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Type",
"default": null
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 20
},
"api_key": {
"type": "string",
"title": "Api Key",
"default": "",
"description": "BrunoSan API Key — brunosan.de/intelligence/"
},
"date_to": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Date To",
"default": null
},
"date_from": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Date From",
"default": null
},
"title_only": {
"type": "boolean",
"title": "Title Only",
"default": false
}
}
}Chronological papers inside one stable research track. Args: track: Track slug or exact name, e.g. 'ai-agents' or 'multi-agent-systems'. date_from: Optional ISO date lower bound. date_to: Optional ISO date upper bound. has_code_only: Restrict to papers with confirmed code signal. limit: Max results (default 20, max 50).
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| track* | string | |
| api_key | string | BrunoSan API Key — brunosan.de/intelligence/ |
| date_to | any | |
| date_from | any | |
| has_code_only | boolean |
{
"type": "object",
"title": "arxiv_track_papersArguments",
"required": [
"track"
],
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 20
},
"track": {
"type": "string",
"title": "Track"
},
"api_key": {
"type": "string",
"title": "Api Key",
"default": "",
"description": "BrunoSan API Key — brunosan.de/intelligence/"
},
"date_to": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Date To",
"default": null
},
"date_from": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Date From",
"default": null
},
"has_code_only": {
"type": "boolean",
"title": "Has Code Only",
"default": false
}
}
}Research volume for one stable track by month, quarter or year.
| Argument | Type | Description |
|---|---|---|
| track* | string | |
| api_key | string | BrunoSan API Key — brunosan.de/intelligence/ |
| granularity | string |
{
"type": "object",
"title": "arxiv_track_trendArguments",
"required": [
"track"
],
"properties": {
"track": {
"type": "string",
"title": "Track"
},
"api_key": {
"type": "string",
"title": "Api Key",
"default": "",
"description": "BrunoSan API Key — brunosan.de/intelligence/"
},
"granularity": {
"type": "string",
"title": "Granularity",
"default": "month"
}
}
}List stable ArXiv research-track objects with definitions and live counts.
| Argument | Type | Description |
|---|---|---|
| api_key | string | BrunoSan API Key — brunosan.de/intelligence/ |
{
"type": "object",
"title": "arxiv_tracksArguments",
"properties": {
"api_key": {
"type": "string",
"title": "Api Key",
"default": "",
"description": "BrunoSan API Key — brunosan.de/intelligence/"
}
}
}Live cs.AI/ML/CL/CV/RO paper graph. FTS5 + resolved ArXiv citation links. Use for: arxiv_search_papers("LoRA fine-tuning", has_code_only=True) → Related verticals worth connecting: AI News (mcp.brunosan.de/mcp) — industry reaction to papers Robotics (robotics.mcp.brunosan.de/mcp) — applied robotics papers (cs.RO) Quantum (quantum.mcp.brunosan.de/mcp) — quant-ph research depth Biotech (biotech.mcp.brunosan.de/mcp) — bio-ML and drug discovery papers
No arguments.
{
"type": "object",
"title": "get_related_intelligenceArguments",
"properties": {}
}{
"type": "object",
"title": "arxiv_search_papersArguments",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 20
},
"query": {
"type": "string",
"title": "Query"
},
"api_key": {
"type": "string",
"title": "Api Key",
"default": "",
"description": "BrunoSan API Key — brunosan.de/intelligence/"
},
"date_to": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Date To",
"default": null
},
"category": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Category",
"default": null
},
"date_from": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Date From",
"default": null
},
"has_code_only": {
"type": "boolean",
"title": "Has Code Only",
"default": false
},
"empirical_only": {
"type": "boolean",
"title": "Empirical Only",
"default": false
}
}
}