MCP server for GIGI — fiber-bundle persistent memory and reasoning for Claude and other MCP-aware LLM clients
Project description
gigi-mcp
MCP server for GIGI — fiber-bundle persistent memory and geometric reasoning for Claude and other MCP-aware LLM clients.
The "Claude as voice, GIGI as brain" pattern, working out of the box.
Quick start
Step 1. Install:
pip install gigi-mcp
# or, for one-line trial without persistent install:
uvx gigi-mcp
Step 2. Add to your Claude Desktop config. Open Claude Desktop → Settings → Developer → Edit Config, and add:
{
"mcpServers": {
"gigi": {
"command": "uvx",
"args": ["gigi-mcp"]
}
}
}
Step 3. Restart Claude Desktop. That's it — Claude can now query GIGI directly.
Out of the box, gigi-mcp connects to the public read-only gigi-stream.fly.dev instance, so you can try it before setting up your own GIGI server. To point at your own GIGI instance, set environment variables:
{
"mcpServers": {
"gigi": {
"command": "uvx",
"args": ["gigi-mcp"],
"env": {
"GIGI_URL": "https://your-gigi-instance.example.com",
"GIGI_API_KEY": "your-key-here"
}
}
}
}
Try it
After restarting Claude Desktop, ask Claude things like:
- "What datasets are in GIGI?"
- "Show me the schema for the cities bundle."
- "How many cities have population over 10 million?"
- "Use GIGI Query Language to cover the cities bundle where lat > 40."
- "Export the cities bundle as DHOOM so I can see the format."
Claude will discover bundles via gigi_list_bundles, examine schemas via gigi_get_schema, run filtered queries via gigi_query_bundle, construct expressive queries with gigi_gql, and export to DHOOM when round-tripping data through other geometric tools.
What it exposes
| MCP tool | What it does |
|---|---|
gigi_list_bundles() |
Discover what bundles exist in this GIGI instance |
gigi_get_schema(name) |
Read a bundle's base fields, fiber fields, and indexes |
gigi_query_bundle(name, filters, limit) |
Filtered record-level queries |
gigi_count(name, filters) |
Fast counts without fetching records |
gigi_gql(query) |
Execute GIGI Query Language statements directly |
gigi_export_dhoom(name) |
Export a bundle as a DHOOM-formatted string |
About "GQL"
The "GQL" in gigi_gql is GIGI Query Language — GIGI's own SQL-flavored DSL. It is not GraphQL. GQL statements look like:
CREATE BUNDLE events BASE (id CATEGORICAL) FIBER (ts TIMESTAMP, val NUMERIC)
INSERT INTO events (id, ts, val) VALUES ('e1', 1700000000, 42.0)
COVER events WHERE val >= 10
SCAN events LIMIT 100
Claude reads bundle schemas via gigi_get_schema before constructing complex GQL, so the queries it builds are grounded in actual data structure.
What it doesn't do (yet)
This is v0 — intentionally minimal but covering the daily-driver surface. The roadmap:
- v0.1: Resources (
gigi://bundles,gigi://schema/{name}) so Claude reads schemas as context rather than via tool calls - v0.2: Vector search tool (
gigi_vector_search) once we settle the embedding-vector serialization shape - v0.3: Aggregation tool (
gigi_aggregate) for GROUP BY / summary statistics - v1.0: Commercial-tier operations surfaced (
gigi_curvature,gigi_spectral,gigi_holonomy,gigi_transport) returningLICENSE_REQUIREDfrom the GIGI execution layer for non-commercial callers - v1.x: Streamable HTTP transport, hosted endpoint option
Configuration
| Env var | Default | Description |
|---|---|---|
GIGI_URL |
https://gigi-stream.fly.dev |
GIGI instance to connect to |
GIGI_API_KEY |
(none) | API key, if your GIGI instance requires one |
GIGI_TIMEOUT |
30 |
Request timeout in seconds |
Why GIGI?
GIGI is a geometric database built on fiber-bundle structure. For LLMs, it provides:
- Persistent structured memory with schema that survives serialization
- Geometric reasoning primitives — curvature, spectral gap, holonomy, transport (commercial-tier operations; not exposed in v0 of this MCP server)
- GIGI Query Language for expressive SQL-flavored queries grounded in fiber-bundle semantics
- DHOOM-native export for round-tripping through geomstats and other geometric tooling
See davisgeometric.com for the broader stack.
License
MIT — see LICENSE.
GIGI itself is free for non-commercial use; commercial deployments are patent-protected (US Provisional Patent Application 64/045,889). This MCP server is free to use unconditionally — gating happens at the GIGI execution layer, not in this server.
Status
v0.0.1 — covers the six listed tools against the configured GIGI endpoint. Issues and feature requests welcome at the main repo.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gigi_mcp-0.0.1.tar.gz.
File metadata
- Download URL: gigi_mcp-0.0.1.tar.gz
- Upload date:
- Size: 19.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ac05db1e75e52e1e1b2bfbf91d153ea8cfa0f23e7d72e3bda56c0e899305ce86
|
|
| MD5 |
683e16c541a36751e806e7dd93faa293
|
|
| BLAKE2b-256 |
8614c846ac81dcad665cf02404c747c18674225ce64d1815a477a8d599176a32
|
File details
Details for the file gigi_mcp-0.0.1-py3-none-any.whl.
File metadata
- Download URL: gigi_mcp-0.0.1-py3-none-any.whl
- Upload date:
- Size: 8.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ef1c621ad02b9db29a959da1f301c158875d44e83147c1d85814d75ced8dda6a
|
|
| MD5 |
58bbfd2302f3879b7c0e269d988a3298
|
|
| BLAKE2b-256 |
f757bcab4b2d5b4e6d5d13c64b093caeea4c8a8445c511a3e42e2c1f36baf8a2
|