trackmcp
Back to directory
AIDataNordic

Alexandria-mcp

View on GitHub

Semantic search over 4.6 million text chunks from 20,000 classical philosophy and humanities works. Built for AI agents using FastMCP.

1 stars PythonOthers Updated Jul 5, 2026

Documentation

Alexandria MCP Server

Available on CodeGuilds

Semantic search over 4.6 million text chunks from 20,000+ classical philosophy and humanities works. Built for AI agents using FastMCP over HTTP.

What's in the collection

All texts are public domain (pre-1928), sourced from Internet Archive (americana, europeanlibraries, gutenberg collections).

  • Philosophy: Aristotle, Plato, Kant, Hegel, Nietzsche, Schopenhauer, Descartes, Spinoza, Locke, Hume, Mill, Wittgenstein, Aquinas, Augustine, Leibniz, Rousseau, Voltaire, Marx, and hundreds more
  • Topics: Ethics, metaphysics, epistemology, logic, political philosophy, theology, stoicism, neoplatonism, existentialism, history of ideas
  • Languages: English, German, Latin, French, Italian, Greek, Russian

Connecting to the server

Remote (hosted):

bash
claude mcp add --transport http alexandria https://alexandria.aidatanorge.no/mcp

Via MCP config:

json
{
  "mcpServers": {
    "alexandria": {
      "type": "http",
      "url": "https://alexandria.aidatanorge.no/mcp"
    }
  }
}

Tools

`search_texts`

Search the collection using natural language. Uses hybrid dense+sparse retrieval with cross-encoder reranking.

ParameterTypeDescription
`query`stringWhat you are looking for
`author`stringOptional filter by author/creator, e.g. `Kant`, `Nietzsche`, `Plato`
`language`stringOptional language filter: `eng`, `ger`, `lat`, `fre`, `ita`, `gre`, `rus`
`limit`intNumber of results (default 5, max 20)

Example queries:

  • `"Nietzsche will to power eternal recurrence"`
  • `"Kantian categorical imperative duty"`
  • `"Platonic theory of forms and the Good"`
  • `"Stoic virtue and the sage"`
  • `"Hegel dialectics spirit history"`

Each result includes: `title`, `creator`, `date`, `language`, `subject`, `text` (chunk), `rerank_score`, `vector_score`.

curl example:

bash
curl -X POST https://alexandria.aidatanorge.no/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "search_texts",
      "arguments": {
        "query": "Kantian categorical imperative duty ethics",
        "author": "Kant",
        "limit": 3
      }
    }
  }'

`get_book_list`

List books in the collection filtered by author, subject or language.

ParameterTypeDescription
`author`stringFilter by author/creator, e.g. `Kant`, `Plato`
`subject`stringFilter by subject keyword, e.g. `ethics`, `logic`
`language`stringFilter by language code: `eng`, `ger`, `lat`, `fre`, `ita`, `gre`, `rus`
`limit`intMax books to return (default 20, max 100)

curl example:

bash
curl -X POST https://alexandria.aidatanorge.no/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{
    "jsonrpc": "2.0",
    "id": 2,
    "method": "tools/call",
    "params": {
      "name": "get_book_list",
      "arguments": {"author": "Plato", "language": "eng"}
    }
  }'

`ping`

Connectivity test.

Prompts

  • `philosopher_analysis(philosopher)` — deep dive into a philosopher's key ideas
  • `topic_exploration(topic)` — explore a topic across multiple thinkers
  • `compare_philosophers(philosopher_a, philosopher_b, topic)` — compare two philosophers on a specific topic

Architecture

code
Archive.org (13,000+ books)
        ↓
  Text extraction + chunking
        ↓
  Qdrant (4.6M vectors)
        ↓
  Hybrid search: intfloat/multilingual-e5-large (dense) + Qdrant/bm25 (sparse)
        ↓
  Cross-encoder reranking: mmarco-mMiniLMv2-L12-H384-v1
        ↓
  FastMCP 3.2 over HTTP

Self-hosting

Requires a running Qdrant instance with the `alexandria` collection populated.

bash
pip install -r requirements.txt
python alexandria_mcp_server.py
# Server starts at http://localhost:8005/mcp

Environment variables (optional):

code
QDRANT_HOST=localhost
QDRANT_PORT=6333
MCP_PORT=8005

License

MIT

Frequently asked questions

What is Alexandria-mcp?

Alexandria-mcp is Semantic search over 4.6 million text chunks from 20,000 classical philosophy and humanities works. Built for AI agents using FastMCP.

How do I install Alexandria-mcp?

Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

Is Alexandria-mcp open source?

Yes — it is hosted on GitHub at https://github.com/AIDataNordic/Alexandria-mcp and has 1 stars.

Related MCP tools

Run your own MCP server? See who uses it and what to fix.

Measure it with TrackMCP