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 recent community issues