philosophy-mcp
Provides access to philosophy texts including scholarly papers from PhilPapers/PhilArchive and classic books from Project Gutenberg, SEP, and other open-access sources, all without requiring an API key.
README
philosophy-mcp
An MCP server for philosophy texts — both current scholarship and the canon. It folds two things into one keyless server:
- PhilPapers / PhilArchive — the philosophy preprint archive (the field's closest analog to arXiv): search papers, read abstracts, browse recent submissions, pull full text.
- Books, classics & reference — public-domain originals and translations (Project
Gutenberg, Internet Archive, Wikisource), open-access academic books (DOAB), modern
editions (Open Library), and the Stanford Encyclopedia of Philosophy — plus a generic
fetch_textfor any other source (Zeno.org, marxists.org, Standard Ebooks, …).
No API key required. Everything runs against keyless public endpoints.
Renamed and expanded from philpapers-mcp (which covered only the PhilPapers tools). The
philpapers-mcpbinary name still works as an alias.
Tools
Philosophy scholarship (PhilPapers / PhilArchive)
| Tool | What it does | Backend |
|---|---|---|
search_papers |
Keyword search (title/abstract/full text), returns metadata + PhilArchive links + PDF URL | OpenAlex, filtered to the PhilPapers Foundation source |
research |
One-shot scan: search and pull each hit's verbatim full abstract + subjects in a single call | OpenAlex + OAI-PMH GetRecord |
get_paper |
Canonical metadata + full abstract for one record id | PhilArchive OAI-PMH GetRecord |
list_recent |
Records added/updated in a date window | PhilArchive OAI-PMH ListRecords |
fetch_pdf |
Download a record's open-access PDF to disk, return the path | philpapers.org/archive/<ID>.pdf |
get_fulltext |
Download the open-access PDF and return its extracted full text | PDF + unpdf text extraction |
PhilArchive is the open-access archive built on the PhilPapers database, so a record id
such as BROTNO-9 resolves on both philarchive.org and philpapers.org.
Books, classics & reference
| Tool | What it does | Source |
|---|---|---|
search_gutenberg / get_gutenberg_text |
Find and read public-domain classics + out-of-copyright translations | Project Gutenberg (Gutendex, with a gutenberg.org fallback) |
search_internet_archive / get_archive_text |
Find scanned, out-of-print works and read their OCR text | Internet Archive |
search_wikisource / get_wikisource_text |
Find and read primary texts/translations in any language (en, de, ko, …) | Wikisource |
search_openlibrary |
Modern editions & translations as metadata, with read/borrow links | Open Library |
search_doab |
Peer-reviewed, fully open-access academic books (readable in full) | DOAB |
search_sep / get_sep_entry |
Search and read the standard scholarly reference | Stanford Encyclopedia of Philosophy |
fetch_text |
Readable plain text from any URL — the catch-all for sources without a dedicated tool | any site |
All text-returning tools take max_chars (default 15000–18000) and truncate with a note —
raise it to read further into a work.
Example
search_papers with { "query": "phenomenal consciousness higher-order", "open_access_only": true, "limit": 2 }:
Found 1,806 match(es) in PhilPapers/PhilArchive; showing 2 (open-access only).
1. The HOROR theory of phenomenal consciousness (2014)
id: BROTNO-9
authors: Richard Brown
philarchive: https://philarchive.org/rec/BROTNO-9
pdf: https://philpapers.org/archive/BROTNO-9.pdf
Then get_fulltext with { "id": "BROTNO-9" } returns the paper's extracted full text.
For the canon: search_gutenberg with { "query": "kant critique", "languages": "en" } returns book
ids, and get_gutenberg_text with { "book_id": 4280 } reads The Critique of Pure Reason directly;
search_sep → get_sep_entry reads an encyclopedia entry; fetch_text pulls readable text from
German originals on Zeno.org or translations on marxists.org.
20th-century authors still in copyright (Heidegger, Adorno, Gadamer, Habermas) won't have free full texts here — you'll get metadata, SEP coverage, and read/borrow links.
Setup
Run straight with npx (no clone, once published):
npx -y philosophy-mcp
Or from source:
git clone https://github.com/sea9401/philosophy-mcp
cd philosophy-mcp
npm install # the `prepare` hook builds dist/ automatically
Register with Claude Code
# via npx (no clone)
claude mcp add philosophy -- npx -y philosophy-mcp
# from a local build
claude mcp add philosophy -- node /absolute/path/to/dist/index.js
# optional: identify yourself to OpenAlex's "polite pool" for better rate limits
claude mcp add philosophy -e OPENALEX_MAILTO=you@example.com -- npx -y philosophy-mcp
Then /mcp inside Claude Code lists philosophy with its tools.
Register with Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"philosophy": {
"command": "node",
"args": ["/home/sea9401/philpapers-mcp/dist/index.js"],
"env": { "OPENALEX_MAILTO": "you@example.com" }
}
}
}
Environment variables
| Var | Default | Purpose |
|---|---|---|
OPENALEX_MAILTO |
mcp@example.com |
Your email — joins OpenAlex's polite pool (recommended). |
PHILPAPERS_DOWNLOAD_DIR |
<tmp>/philpapers-mcp |
Where fetch_pdf saves files. |
Smoke test
node test-client.mjs
Spawns the server over stdio and exercises the PhilPapers tools.
Notes & limits
- The book/reference tools are keyless and read-only. Search tools return compact lists; the
get_*/fetch_texttools return text truncated tomax_chars. - Gutendex (the Project Gutenberg API host) is frequently overloaded;
search_gutenbergprobes it briefly and falls back to gutenberg.org's OPDS feed.get_gutenberg_textreads the text directly from gutenberg.org, so it works even when Gutendex is down. - SEP has no keyword API (its on-site search is JavaScript-driven), so
search_sepmatches against the published entry index (contents.html) — i.e. title/topic matching. list_recentfilters on the OAI datestamp, returns only the first OAI page, and not every record has an open-access PDF —get_paperreports availability;fetch_pdffails clearly.
Publishing (maintainers)
CI (.github/workflows/ci.yml) builds on Node 18/20/22 for every push and PR.
To publish a new version to npm:
- Add a repo secret
NPM_TOKEN(an npm Automation access token) under Settings → Secrets and variables → Actions. - Bump the version and tag:
npm version patch && git push --follow-tags. - Cut a GitHub Release —
.github/workflows/publish.ymlrunsnpm publishautomatically.
Or publish manually: npm login then npm publish --access public.
License
MIT
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。