philosophy-mcp
# philosophy-mcp
An [MCP](https://modelcontextprotocol.io) server for a multilingual philosophy corpus — glossary, syntheses, thinker profiles, and articles in **Portuguese**, **English**, and **Spanish**.
**648 entries**: ~270 glossary terms, 11 period syntheses, ~107 thinker profiles, and articles from [Filosofia em Resumo](https://filosofiaemresumo.com.br).
---
## Requirements
- Python >= 3.10
---
## Quick Start
### Install from PyPI
```bash
pip install philosophy-mcp
```
### Install with uv
```bash
uv pip install philosophy-mcp
```
### Run directly with uvx (no install needed)
```bash
uvx philosophy-mcp
```
### Use with Claude Desktop
Add to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"filosofia": {
"command": "uvx",
"args": ["philosophy-mcp"]
}
}
}
```
### Use with VS Code
Add to `.vscode/mcp.json`:
```json
{
"servers": {
"filosofia": {
"command": "uvx",
"args": ["philosophy-mcp"]
}
}
}
```
That's it. The server connects to the public API automatically — no local files needed.
---
## What can it do?
Ask your AI assistant anything about philosophy. The MCP tools give it access to a curated corpus:
- *"O que é eudaimonia?"* → searches the glossary
- *"Tell me about Kant"* → fetches the thinker profile
- *"¿Cuáles son las síntesis disponibles?"* → lists period syntheses
- *"Search 'logos' across everything"* → full-text search
### Examples
**Portuguese** (default — `lang="pt"`):
> "O que significa imperativo categórico?"
> "Me fale sobre Sócrates"
> "Quais são os períodos da filosofia?"
**English** (`lang="en"`):
> "What is eudaimonia?"
> "Tell me about Aristotle's philosophy"
> "List all thinker profiles in English"
> "Search for 'virtue' in the glossary"
**Spanish** (`lang="es"`):
> "¿Qué es el logos?"
> "Busca pensadores relacionados con el estoicismo"
> "Dame la síntesis del período medieval"
The assistant picks the language automatically based on your question, or you can ask explicitly: *"Search 'categorical imperative' in the English glossary"*.
### Available Tools
| Tool | Description |
|---|---|
| `search_glossario(query, lang)` | Search glossary terms by keyword |
| `get_glossario(slug, lang)` | Full definition of a term by slug |
| `listar_glossario(lang)` | List all glossary terms |
| `listar_sinteses(lang)` | List period syntheses |
| `get_sintese(slug, lang)` | Full text of a period synthesis |
| `listar_pensadores(lang)` | List all thinker profiles |
| `buscar_pensador(query, lang)` | Search thinkers by name/keyword |
| `get_pensador(slug, lang)` | Full thinker profile |
| `listar_artigos(lang)` | List all articles |
| `get_artigo(slug, lang)` | Full article by slug |
| `search_artigos(query, lang)` | Search articles by keyword |
| `search(query, lang, section)` | Full-text search across corpus |
| `corpus_stats()` | Corpus statistics |
**`lang`**: `pt` (default), `en`, `es`
---
## Languages
All content is available in three languages:
| Language | Glossary | Syntheses | Thinkers | Articles |
|---|---|---|---|---|
| Português (pt) | ✓ | ✓ | ✓ | ✓ |
| English (en) | ✓ | ✓ | ✓ | ✓ |
| Español (es) | ✓ | ✓ | ✓ | ✓ |
---
## Data Source
The server connects to the public API at `filosofiaemresumo.com.br/api` automatically.
---
## Content Coverage
### Periods (Syntheses)
1. Pre-Socratics & Sophists (~600–400 BC)
2. Socrates, Plato & Aristotle
3. Hellenistic Philosophy
4. Medieval Philosophy
5. Humanism & Renaissance
6. Scientific Revolution
7. Rationalism & Empiricism
8. Contractualism, Enlightenment & Kant
9. German Idealism
10. 19th Century Philosophy
11. 20th Century Philosophy
### Thinkers (~107 profiles)
From Thales of Miletus to Judith Butler — including Socrates, Plato, Aristotle, Descartes, Kant, Hegel, Marx, Nietzsche, Heidegger, Sartre, Foucault, and many more.
### Glossary (~90 terms per language)
Key philosophical concepts: arché, eudaimonia, logos, phronesis, noumeno, Aufhebung, categorical imperative, will to power, and more.
---
## License
MIT
TDQS
Scored across 13 tools
Each tool has a clearly distinct purpose: search vs. list vs. get for different content types (thinkers, articles, glossary, syntheses), plus a general full-text search and corpus stats. No two tools have ambiguous boundaries.
Tool names mix Portuguese and English ('buscar_pensador' vs 'search_artigos', 'get_artigo' vs 'listar_artigos'), use different verb prefixes ('get_', 'listar_', 'search_', 'buscar_'), and one tool uses snake_case English ('corpus_stats'). This inconsistency makes it hard to predict tool names.
13 tools cover the main content types (articles, thinkers, glossary, syntheses) with search, list, and retrieval operations, plus a stats tool. The count is well-scoped for a philosophy reference server; each tool earns its place.
The tool surface provides full read-only access to the philosophy corpus: search across all sections, retrieve individual items, list all items, and get corpus statistics. No obvious gaps for the intended purpose of referencing philosophical content.