Antigravity PDF MCP Server
A powerful Model Context Protocol (MCP) server that enables intelligent document ingestion and querying capabilities for AI agents and IDEs. This server allows you to build a persistent knowledge base from PDFs, Markdown, and Text files, and query them using advanced hybrid search techniques.
Features
- Multi-Format Ingestion: Support for
.pdf,.md, and.txtfiles. - Smart Chunking: Recursive character splitting preserves document structure (paragraphs, headers).
- Persistent Storage: Uses SQLite (
antigravity.db) to store documents and vectors across restarts. - Advanced Retrieval:
- Hybrid Search: Combines TF-IDF (keyword) and OpenAI Embeddings (semantic) using Reciprocal Rank Fusion (RRF).
- Filtering: Scope searches to specific documents.
- Citations: Returns page numbers (e.g.,
[Page 5]) for easy verification.
- User Experience: Real-time progress notifications during ingestion.
- MCP Protocol: Fully compliant with the Model Context Protocol over Stdio.
Prerequisites
- Node.js (v18 or higher)
- npm
Installation
-
Clone the repository:
git clone <repository-url> cd antigravity-pdf-mcp -
Install dependencies:
npm install -
Build the project:
npm run build
Configuration
To enable Semantic Search (Embeddings), create a .env file in the root directory:
OPENAI_API_KEY=sk-your-api-key-here
If no API key is provided, the server will fallback to local TF-IDF search only.
Tools
The server exposes the following MCP tools:
ingest_document: Ingest a file (PDF, TXT, MD) into the knowledge base.path: Absolute path to the file.
query_knowledge_base: Search the knowledge base.query: The search query.document_id(Optional): Filter results to a specific document ID.
list_documents: List all ingested documents.reset_library: Clear the entire database.ingest_pdf(Deprecated): Alias foringest_document.
Usage with IDEs
This server uses the Stdio transport, making it compatible with any MCP-compliant client or IDE.
Antigravity IDE
- Open Settings > MCP Servers.
- Click Add Server.
- Configure the server:
- Name:
antigravity-pdf - Command:
node - Arguments:
/absolute/path/to/antigravity-pdf-mcp/dist/server.js - Environment Variables:
OPENAI_API_KEY: Your OpenAI API key.
- Name:
VSCode / Claude Desktop
Add to your MCP configuration file (e.g., claude_desktop_config.json):
{
"mcpServers": {
"antigravity-pdf": {
"command": "node",
"args": [
"/absolute/path/to/antigravity-pdf-mcp/dist/server.js"
],
"env": {
"OPENAI_API_KEY": "your-api-key-if-needed"
}
}
}
}
Contributing
- Fork & Clone: Clone your fork locally.
- Branch: Create a feature branch (
git checkout -b feature/amazing-feature). - Develop: Make your changes.
- Verify:
- Run
npm run buildto check for errors. - Use
npx ts-node verify_ux.tsto test ingestion and retrieval.
- Run
- Commit & Push: Push changes to your fork.
- Pull Request: Open a PR against the main repository.