Skip to main content
Glama
README.md
# 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

A3.7/5.0

Scored across 13 tools

Disambiguation5/5

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.

Naming Consistency2/5

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.

Tool Count5/5

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.

Completeness5/5

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.

Maintenance

ActivityInactive
ResponsivenessNo issues