Skip to main content
Glama

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

Related MCP server: OpenEnded Philosophy MCP Server

Connecting to the server

Remote (hosted):

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

Via MCP config:

{
  "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.

Parameter

Type

Description

query

string

What you are looking for

author

string

Optional filter by author/creator, e.g. Kant, Nietzsche, Plato

language

string

Optional language filter: eng, ger, lat, fre, ita, gre, rus

limit

int

Number 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:

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.

Parameter

Type

Description

author

string

Filter by author/creator, e.g. Kant, Plato

subject

string

Filter by subject keyword, e.g. ethics, logic

language

string

Filter by language code: eng, ger, lat, fre, ita, gre, rus

limit

int

Max books to return (default 20, max 100)

curl example:

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

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.

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

Environment variables (optional):

QDRANT_HOST=localhost
QDRANT_PORT=6333
MCP_PORT=8005

License

MIT

Install Server
A
license - permissive license
A
quality
A
maintenance

Maintenance

Maintainers
<1hResponse time
0dRelease cycle
2Releases (12mo)
Commit activity
Issues opened vs closed

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/AIDataNordic/alexandria-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server