AgentGraph
Give the AI agent you already use a searchable world.
AgentGraph is a local-first, self-hosted CLI and MCP server that turns the sources you choose into a searchable graph for the AI agent you already use. Connect Gmail, Google Drive, Slack, Discord, RSS, and web pages; AgentGraph translates them into local entities, people, relationships, and searchable content.
AgentGraph stores context; your agent reasons over it. It is not an agent, chatbot, hosted graph service, or replacement for the tools you already use.
See the demo · Install · Documentation · Chrome extension
Why AgentGraph
Coding agents work well because their source of truth is already on disk. They can search files, follow references, inspect history, and build a model of the system without the user pasting every relevant detail.
The rest of a person's digital context is fragmented across messages, documents, feeds, and web pages. AgentGraph makes the parts you choose locally searchable and navigable through MCP, so a coding agent can investigate that context instead of starting every conversation blind.
How context enters the graph
AgentGraph builds context in three ways:
- Observe: the Chrome extension recognizes a supported URL, waits until you have kept it focused for the observation threshold, and reports the resource to your local AgentGraph server. The owning connector fetches it through the source API.
- Fetch: your agent or the CLI can request a specific resource. The connector adds or refreshes its entities, people, and edges before returning.
- Refresh: connector polling and ingest keep configured or already-known resources current in the background.
Observation is also an attention signal. Browser observation updates observed_at; direct fetch, polling, ingest, and source changes do not. Observable entities expire after 90 days by default unless they are observed again or bookmarked. See How AgentGraph works and Entity retention.
The extension sends recognized URLs, plus the Gmail thread identifier where required, to the local server. It does not upload arbitrary page content to an AgentGraph-operated service.
Trace a decision across sources
The launch demo asks an existing coding agent:
Before I reply to Maya, reconstruct the Atlas synchronization decision. What did she require, what did engineering agree, does the Drive plan match, and which research supports the decision? Flag contradictions and link every source.
The agent uses the Graph skill and AgentGraph CLI to search a fictional Gmail thread, traverse a Slack discussion and its authors, check a stale Drive plan, and compare two research documents. Everything is included in one deterministic fixture; no provider credentials, browser observation, or MCP setup are required. Run the demo.
What each connector makes perceptible
| Connector | What it contributes | Context paths |
|---|---|---|
| Gmail | Email threads, participants, subjects, bodies, and attachment references | Observe, fetch, poll, ingest |
| Google Drive, Docs, Sheets | Folders, files, content, ownership, authorship, and containment | Observe, fetch, poll |
| Slack | Channels and DMs, messages, replies, authors, mentions, and attachments | Observe, fetch, poll |
| Discord | Channels, DMs, threads, messages, authors, mentions, and attachments | Observe, fetch, poll |
| RSS | Feeds, posts, dates, authors, and publication relationships | Observe, fetch, poll, ingest |
| Web | Configured pages and bookmarks with titles, text, metadata, and URLs | Observe, fetch |
These connectors are proof of the pattern, not the boundary of the product. A connector can translate an API, export, webhook, local database, browser surface, or structured file into AgentGraph's shared model.
Bring any service into your agent's world. Teams can keep private connectors for internal systems, individuals can connect niche tools, and open-source contributors can publish integrations for the wider community. See Connectors and Extending AgentGraph.
Quickstart
AgentGraph requires Python 3.12+, uv, and Chrome for browser observation.
git clone https://github.com/simonexmachina/agentgraph
cd agentgraph
uv sync --extra all
source .venv/bin/activate
agentgraph onboard
agentgraph serve
Install the AgentGraph Chrome extension, browse a supported resource, then verify that context landed:
agentgraph list-connectors
agentgraph search "project kickoff notes"
agentgraph traverse <entity-id> --depth 2
Connect the agent you already use:
agentgraph mcp-config
Use the printed instructions to connect ChatGPT Desktop Work Mode or Claude Desktop to the local stdio server. See Install for the complete setup path.
What AgentGraph is and is not
| AgentGraph is | AgentGraph is not |
|---|---|
| Local-first infrastructure | An AI agent or autonomous assistant |
| A CLI and MCP server | A replacement for your agent |
| A searchable graph of selected context | A chatbot or LLM |
| An open connector architecture | A hosted integration SaaS |
| Semantic search plus typed entities and edges | Only a vector database |
| Self-hosted and open source | A project-operated store for your graph data |
Local data and privacy
Indexed content is stored in SQLite on your machine. Provider credentials stay in the AgentGraph config directory, and source API calls run directly from your machine under your credentials. AgentGraph does not operate a hosted graph service or send indexed content to a project-controlled backend.
An MCP client you connect can receive content from the local graph, subject to that client's data practices. Read the complete Privacy Policy, Terms of Service, and retention model.
Interfaces
| Surface | Use it for | Entry point |
|---|---|---|
| MCP | Let an existing agent search, traverse, fetch, and manage context | agentgraph mcp-config, agentgraph mcp-serve |
| CLI | Search, fetch, ingest, debug, and operate the graph | agentgraph search, agentgraph fetch, agentgraph serve |
| Browser extension | Turn focused browsing on supported URLs into observations | Chrome Web Store |
| Viewer | Inspect entities, people, relationships, and observation state | http://127.0.0.1:8765/viewer |
Documentation
Contributing
See AGENTS.md for repository-specific development rules. Before opening a change, run:
uv run pytest tests/ -m "not integration and not browser" -q
uv run pyright
uv run ruff check agentgraph/ packages/ scripts/ tests/
License
See LICENSE.
Release files for agentgraph-server 0.7.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| agentgraph_server-0.7.1.tar.gz | 242.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| agentgraph_server-0.7.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 395.5 kB
Release files / agentgraph_server-0.7.1.tar.gz
| Download URL | agentgraph_server-0.7.1.tar.gz |
|---|---|
| Size | 242.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e1fb35b1195ba37755dc2658f3e55f25595e34b1665ace2a887cf40d375be478
|
|
BLAKE2b-256 checksum How to use checksums |
5eb4bda7c703519901d3a8a7297abe27b00b5729496ea2cc0b14d77144b42fb3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 10, 2026.
Transparency logRelease files / agentgraph_server-0.7.1-py3-none-any.whl
| Download URL | agentgraph_server-0.7.1-py3-none-any.whl |
|---|---|
| Size | 152.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9c88a8a01d016b938445ae5ac337a9db7a18aa67b1f5a7c8c1692507ab126b7b
|
|
BLAKE2b-256 checksum How to use checksums |
0943ec6c0b9698dbfaee9bf530eb93ae2a4537300bb77cc477a88998f0a93b1d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 10, 2026.
Transparency log