MCP server for storing and retrieving database schema information for LLMs.
- Auto-load Databricks Unity Catalog schemas on startup
- Vector-based semantic search with configurable embedding service
- File-based storage (no external database required)
- MCP interface via HTTP/SSE for LLM integration
- LM Studio compatible
- Copy
.env.exampleto.envand configure:
cp .env.example .env- Configure your
.env:
# Embedding API (default: local embedding service)
EMBEDDING_API_URL=http://localhost:8000/v1
EMBEDDING_API_KEY=your-secret-token
EMBEDDING_MODEL=nomic-embed-text
# Databricks (optional)
DATABRICKS_HOST=https://your-workspace.cloud.databricks.com
DATABRICKS_TOKEN=your-token
DATABRICKS_CATALOGS=main- Build and run:
docker-compose up --buildServer runs on http://localhost:8001
| Tool | Description |
|---|---|
add_schema |
Store a table schema |
query_model |
Semantic search for table info |
list_models |
List all stored tables |
GET /mcp/sse- SSE connection for MCPPOST /mcp/messages- MCP message handlerGET /health- Health check
Add to ~/.lmstudio/mcp.json:
{
"mcpServers": {
"schemavault": {
"url": "http://localhost:8001/mcp/sse"
}
}
}Add to claude_desktop_config.json:
{
"mcpServers": {
"schemavault": {
"command": "docker",
"args": ["exec", "-i", "schemavault-schemavault-1", "python", "-m", "src.server"]
}
}
}- On startup, cleans existing data and reloads schemas
- Loads all schemas from Databricks Unity Catalog (if configured)
- Embeds schemas using configured embedding service
- Stores embeddings in Hnswlib vector index
- LLM queries via MCP for semantic schema search
| Variable | Default | Description |
|---|---|---|
EMBEDDING_API_URL |
http://localhost:8000/v1 |
Embedding service URL |
EMBEDDING_API_KEY |
your-secret-token |
Embedding API key |
EMBEDDING_MODEL |
nomic-embed-text |
Embedding model name |
DATABRICKS_HOST |
- | Databricks workspace URL |
DATABRICKS_TOKEN |
- | Databricks PAT |
DATABRICKS_CATALOGS |
main |
Catalogs to load (main, a,b, or *) |
DATABRICKS_SCHEMAS |
(all) | Schemas to load (optional: schema1,schema2 or *) |
Data stored in ./data/ (refreshed on each startup):
vectors.index- Hnswlib vector index (768 dimensions)schemas.json- Table metadata
- Docker
- Embedding service (OpenAI-compatible API)
- (Optional) Databricks workspace with Unity Catalog access