Search arXiv, fetch paper metadata, and read full-text content via MCP. STDIO or Streamable HTTP.
Drift inferred · capture-to-capture
- MEDIUM 1 description changed (high-adoption)
- HIGH 2 tools changed permissions · +1 tool · −1 tool · …
tool count over time
tools
-
arxiv_get_metadata
Get full metadata for one or more arXiv papers by ID. Use when you have known IDs from citations, prior search results, or memory.
in ▸ paper_ids
-
arxiv_list_categories
List arXiv category codes and names. Useful for discovering valid category filters for arxiv_search.
in ▸ group
-
arxiv_read_paper
Fetch the full text of an arXiv paper as HTML. Tries arxiv.org/html first; falls back to ar5iv.labs.arxiv.org when the native render is unavailable. PDF-only papers (no HTML render on either source) return an html_unavailable error with the pdf_url for direct download. Page through long papers with the start and max_characters parameters.
in ▸ start paper_id max_characters
-
arxiv_search
Search arXiv papers by query with category and sort filters. Returns paper metadata including title, authors, abstract, categories, and links.
in ▸ query start sort_by category sort_order max_results
resources
- arXiv Categories Full arXiv category taxonomy. Returns grouped category list as JSON.
analyzed commit 44ba638 · analyzer v33 · 3w ago
skills & prompt files 34
- agent-rules cyanheads-arxiv-mcp-server-44ba638/AGENTS.md
- agent-rules cyanheads-arxiv-mcp-server-44ba638/CLAUDE.md
- skill cyanheads-arxiv-mcp-server-44ba638/skills/add-app-tool/SKILL.md
- skill cyanheads-arxiv-mcp-server-44ba638/skills/add-prompt/SKILL.md
- skill cyanheads-arxiv-mcp-server-44ba638/skills/add-resource/SKILL.md
- skill cyanheads-arxiv-mcp-server-44ba638/skills/add-service/SKILL.md
- skill cyanheads-arxiv-mcp-server-44ba638/skills/add-test/SKILL.md
- skill cyanheads-arxiv-mcp-server-44ba638/skills/add-tool/SKILL.md
- skill cyanheads-arxiv-mcp-server-44ba638/skills/api-auth/SKILL.md
- skill cyanheads-arxiv-mcp-server-44ba638/skills/api-canvas/SKILL.md
- skill cyanheads-arxiv-mcp-server-44ba638/skills/api-config/SKILL.md
- skill cyanheads-arxiv-mcp-server-44ba638/skills/api-context/SKILL.md
- skill cyanheads-arxiv-mcp-server-44ba638/skills/api-errors/SKILL.md
- skill cyanheads-arxiv-mcp-server-44ba638/skills/api-linter/SKILL.md
- skill cyanheads-arxiv-mcp-server-44ba638/skills/api-mirror/SKILL.md
- skill cyanheads-arxiv-mcp-server-44ba638/skills/api-services/SKILL.md
- skill cyanheads-arxiv-mcp-server-44ba638/skills/api-telemetry/SKILL.md
- skill cyanheads-arxiv-mcp-server-44ba638/skills/api-testing/SKILL.md
- skill cyanheads-arxiv-mcp-server-44ba638/skills/api-utils/SKILL.md
- skill cyanheads-arxiv-mcp-server-44ba638/skills/api-workers/SKILL.md
- skill cyanheads-arxiv-mcp-server-44ba638/skills/code-simplifier/SKILL.md
- skill cyanheads-arxiv-mcp-server-44ba638/skills/design-mcp-server/SKILL.md
- skill cyanheads-arxiv-mcp-server-44ba638/skills/field-test/SKILL.md
- skill cyanheads-arxiv-mcp-server-44ba638/skills/git-wrapup/SKILL.md
- skill cyanheads-arxiv-mcp-server-44ba638/skills/maintenance/SKILL.md
- skill cyanheads-arxiv-mcp-server-44ba638/skills/orchestrations/SKILL.md
- skill cyanheads-arxiv-mcp-server-44ba638/skills/polish-docs-meta/SKILL.md
- skill cyanheads-arxiv-mcp-server-44ba638/skills/release-and-publish/SKILL.md
- skill cyanheads-arxiv-mcp-server-44ba638/skills/report-issue-framework/SKILL.md
- skill cyanheads-arxiv-mcp-server-44ba638/skills/report-issue-local/SKILL.md
- skill cyanheads-arxiv-mcp-server-44ba638/skills/security-pass/SKILL.md
- skill cyanheads-arxiv-mcp-server-44ba638/skills/setup/SKILL.md
- skill cyanheads-arxiv-mcp-server-44ba638/skills/techniques/SKILL.md
- skill cyanheads-arxiv-mcp-server-44ba638/skills/tool-defs-analysis/SKILL.md
code files: 67
filesystem 21
- fs (weak) cyanheads-arxiv-mcp-server-44ba638/scripts/build-changelog.ts :32
import { existsSync, readdirSync, readFileSync, writeFileSync } from 'node:fs'; - fs (weak) cyanheads-arxiv-mcp-server-44ba638/scripts/build.ts :17
import { readFileSync } from 'node:fs'; - fs (weak) cyanheads-arxiv-mcp-server-44ba638/scripts/check-dependency-specifiers.ts :38
import { existsSync, readFileSync } from 'node:fs'; - fs (weak) cyanheads-arxiv-mcp-server-44ba638/scripts/check-docs-sync.ts :22
import { existsSync, readFileSync } from 'node:fs'; - fs (weak) cyanheads-arxiv-mcp-server-44ba638/scripts/check-framework-antipatterns.ts :39
import { existsSync } from 'node:fs'; - fs (weak) cyanheads-arxiv-mcp-server-44ba638/scripts/check-skill-versions.ts :33
import { existsSync, readFileSync } from 'node:fs'; - fs (weak) cyanheads-arxiv-mcp-server-44ba638/scripts/check-skills-sync.ts :37
import { existsSync, readdirSync, readFileSync } from 'node:fs'; - fs (weak) cyanheads-arxiv-mcp-server-44ba638/scripts/clean-mcpb.ts :29
import { existsSync, statSync } from 'node:fs'; - fs (weak) cyanheads-arxiv-mcp-server-44ba638/scripts/clean.ts :15
import { readdir, rm } from 'node:fs/promises'; - fs (weak) cyanheads-arxiv-mcp-server-44ba638/scripts/devcheck.ts :3
import { existsSync, readFileSync } from 'node:fs'; - fs (weak) cyanheads-arxiv-mcp-server-44ba638/scripts/lint-mcp.ts :19
import { existsSync, readdirSync, readFileSync } from 'node:fs'; - fs (weak) cyanheads-arxiv-mcp-server-44ba638/scripts/lint-packaging.ts :52
import { existsSync, readdirSync, readFileSync } from 'node:fs';
show 9 more
- fs (weak) cyanheads-arxiv-mcp-server-44ba638/scripts/list-skills.ts :21
import { existsSync } from 'node:fs'; - fs (weak) cyanheads-arxiv-mcp-server-44ba638/scripts/release-github.ts :33
import { existsSync, readFileSync } from 'node:fs'; - fs (weak) cyanheads-arxiv-mcp-server-44ba638/scripts/split-changelog.ts :24
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs'; - fs (weak) cyanheads-arxiv-mcp-server-44ba638/scripts/tree.ts :24
import type { Dirent } from 'node:fs'; - fs cyanheads-arxiv-mcp-server-44ba638/src/services/arxiv/mirror/store.ts :20
import { mkdir } from 'node:fs/promises'; - fs (weak) cyanheads-arxiv-mcp-server-44ba638/tests/services/arxiv/arxiv-service-mirror.test.ts :10
import { mkdtemp, rm } from 'node:fs/promises'; - fs (weak) cyanheads-arxiv-mcp-server-44ba638/tests/services/arxiv/mirror/migration.test.ts :9
import { mkdtemp, rm } from 'node:fs/promises'; - fs (weak) cyanheads-arxiv-mcp-server-44ba638/tests/services/arxiv/mirror/query.test.ts :12
import { mkdtemp, rm } from 'node:fs/promises'; - fs (weak) cyanheads-arxiv-mcp-server-44ba638/tests/services/arxiv/mirror/store.test.ts :8
import { mkdtemp, rm } from 'node:fs/promises';
shell / exec 10
- shell (weak) cyanheads-arxiv-mcp-server-44ba638/scripts/build.ts :16
import { execFile } from 'node:child_process'; - shell (weak) cyanheads-arxiv-mcp-server-44ba638/scripts/check-framework-antipatterns.ts :38
import { spawnSync } from 'node:child_process'; - shell (weak) cyanheads-arxiv-mcp-server-44ba638/scripts/check-skill-versions.ts :32
import { spawnSync } from 'node:child_process'; - shell (weak) cyanheads-arxiv-mcp-server-44ba638/scripts/clean-mcpb.ts :28
import { execFileSync } from 'node:child_process'; - shell (weak) cyanheads-arxiv-mcp-server-44ba638/scripts/devcheck.ts :2
import { type ChildProcess, spawn, spawnSync } from 'node:child_process'; - shell (weak) cyanheads-arxiv-mcp-server-44ba638/scripts/lint-packaging.ts :51
import { execFileSync } from 'node:child_process'; - shell (weak) cyanheads-arxiv-mcp-server-44ba638/scripts/release-github.ts :32
import { spawnSync } from 'node:child_process'; - shell cyanheads-arxiv-mcp-server-44ba638/src/services/arxiv/mirror/refresh-subprocess.ts :23
import { type ChildProcess, spawn } from 'node:child_process'; - shell cyanheads-arxiv-mcp-server-44ba638/src/services/arxiv/mirror/store.ts :39
exec(sql: string): void; - shell (weak) cyanheads-arxiv-mcp-server-44ba638/tests/services/arxiv/mirror/refresh-subprocess.test.ts :10
import { type ChildProcess, spawn } from 'node:child_process';
network 3
- net cyanheads-arxiv-mcp-server-44ba638/src/services/arxiv/arxiv-service.ts :879
response = await fetch(url, { - net cyanheads-arxiv-mcp-server-44ba638/src/services/arxiv/mirror/harvester.ts :143
response = await fetch(url, { - net (weak) cyanheads-arxiv-mcp-server-44ba638/tests/services/arxiv/arxiv-service.test.ts :979
it('forwards the versioned paper ID to arxiv.org HTML fetch (issue #10)', async () => {
tool registrations 4
- arxiv_get_metadata cyanheads-arxiv-mcp-server-44ba638/src/mcp-server/tools/definitions/arxiv-get-metadata.tool.ts :27
- arxiv_list_categories cyanheads-arxiv-mcp-server-44ba638/src/mcp-server/tools/definitions/arxiv-list-categories.tool.ts :17
- arxiv_read_paper cyanheads-arxiv-mcp-server-44ba638/src/mcp-server/tools/definitions/arxiv-read-paper.tool.ts :11
- arxiv_search cyanheads-arxiv-mcp-server-44ba638/src/mcp-server/tools/definitions/arxiv-search.tool.ts :23
declared dependencies 19
- @cyanheads/mcp-ts-core@^0.12.3
- better-sqlite3@^13.0.3
- fast-xml-parser@^5.11.0
- node-cron@^4.6.0
- pino-pretty@^13.1.3
- unpdf@^1.8.1
- zod@^4.4.3
- @biomejs/biome@^2.5.9
- @opentelemetry/api@^1.9.1
- @socketsecurity/bun-security-scanner@^1.1.2
- @types/better-sqlite3@^9.6.0
- @types/bun@^1.3.14
show 7 more
- @types/node@^26.2.0
- @types/node-cron@^3.0.11
- depcheck@^1.4.7
- ignore@^7.0.6
- tsc-alias@^1.9.2
- typescript@^7.0.2
- vitest@^4.1.11