agentgraph-server 0.5.2__tar.gz → 0.5.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- agentgraph_server-0.5.4/.agents/skills/AgentGraph/SKILL.md +80 -0
- agentgraph_server-0.5.4/.agents/skills/AgentGraph/references/commands.md +45 -0
- agentgraph_server-0.5.4/.agents/skills/AgentGraph/references/data-model.md +51 -0
- agentgraph_server-0.5.4/.agents/skills/AgentGraph/references/operations.md +77 -0
- {agentgraph_server-0.5.2/agentgraph_server.egg-info → agentgraph_server-0.5.4}/PKG-INFO +6 -6
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/README.md +5 -5
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/agentgraph/backends/sqlite/backend.py +119 -54
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/agentgraph/backends/sqlite/schema.sql +1 -1
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/agentgraph/cli.py +45 -20
- agentgraph_server-0.5.4/agentgraph/cli_query.py +355 -0
- agentgraph_server-0.5.4/agentgraph/cli_sync.py +106 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/agentgraph/config.py +1 -1
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/agentgraph/connectors/base.py +48 -35
- agentgraph_server-0.5.4/agentgraph/connectors/command_effects.py +18 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/agentgraph/core/runtime.py +5 -1
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/agentgraph/demo.py +85 -71
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/agentgraph/graph/delete.py +9 -0
- agentgraph_server-0.5.4/agentgraph/graph/operations.py +98 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/agentgraph/mcp/server.py +283 -82
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/agentgraph/server/app.py +31 -37
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/agentgraph/server/cli_api.py +37 -254
- agentgraph_server-0.5.4/agentgraph/server/meta_api.py +51 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/agentgraph/server/static/viewer.html +1 -1
- agentgraph_server-0.5.4/agentgraph/server/sync_api.py +67 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/agentgraph/skills.py +38 -4
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4/agentgraph_server.egg-info}/PKG-INFO +6 -6
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/agentgraph_server.egg-info/SOURCES.txt +11 -2
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/pyproject.toml +5 -2
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/tests/test_benchmarks.py +6 -4
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/tests/test_browse.py +40 -24
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/tests/test_cli.py +303 -106
- agentgraph_server-0.5.4/tests/test_command_effects.py +59 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/tests/test_config.py +1 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/tests/test_docs_build.py +79 -14
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/tests/test_expiration.py +18 -0
- agentgraph_server-0.5.4/tests/test_graph_operations.py +215 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/tests/test_launch_demo.py +63 -20
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/tests/test_observation.py +16 -10
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/tests/test_query.py +166 -91
- agentgraph_server-0.5.4/tests/test_release_metadata.py +85 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/tests/test_rss_connector.py +39 -1
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/tests/test_schema.py +61 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/tests/test_slack_auth_artifacts.py +8 -27
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/tests/test_sync.py +19 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/tests/test_viewer_layout_contract.py +3 -1
- agentgraph_server-0.5.2/.agents/skills/graph/SKILL.md +0 -163
- agentgraph_server-0.5.2/agentgraph/cli_query.py +0 -514
- agentgraph_server-0.5.2/agentgraph/server/graph_api.py +0 -46
- agentgraph_server-0.5.2/tests/test_release_metadata.py +0 -38
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/.agents/skills/slack-auth/SKILL.md +0 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/LICENSE +0 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/agentgraph/__init__.py +0 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/agentgraph/auth/__init__.py +0 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/agentgraph/auth/credentials.py +0 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/agentgraph/backends/__init__.py +0 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/agentgraph/backends/sqlite/__init__.py +0 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/agentgraph/backends/sqlite/vector.py +0 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/agentgraph/connectors/__init__.py +0 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/agentgraph/connectors/registry.py +0 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/agentgraph/connectors/status.py +0 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/agentgraph/core/__init__.py +0 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/agentgraph/core/context.py +0 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/agentgraph/core/storage.py +0 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/agentgraph/demo_fixtures/reliable-webhooks.md +0 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/agentgraph/demo_fixtures/retry-guidance.md +0 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/agentgraph/graph/__init__.py +0 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/agentgraph/graph/bookmark.py +0 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/agentgraph/graph/download.py +0 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/agentgraph/graph/embeddings.py +0 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/agentgraph/graph/expiration.py +0 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/agentgraph/graph/fetch.py +0 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/agentgraph/graph/link.py +0 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/agentgraph/graph/person.py +0 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/agentgraph/graph/query.py +0 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/agentgraph/graph/upsert.py +0 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/agentgraph/logging.py +0 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/agentgraph/mcp/__init__.py +0 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/agentgraph/perf.py +0 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/agentgraph/server/__init__.py +0 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/agentgraph/server/observation.py +0 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/agentgraph/server/router.py +0 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/agentgraph/server/sync.py +0 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/agentgraph_server.egg-info/dependency_links.txt +0 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/agentgraph_server.egg-info/entry_points.txt +0 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/agentgraph_server.egg-info/requires.txt +0 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/agentgraph_server.egg-info/top_level.txt +0 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/setup.cfg +0 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/tests/test_auth.py +0 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/tests/test_connectors.py +0 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/tests/test_discord_attachments.py +0 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/tests/test_embeddings.py +0 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/tests/test_fetch.py +0 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/tests/test_logging.py +0 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/tests/test_registry.py +0 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/tests/test_router.py +0 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/tests/test_server_imports.py +0 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/tests/test_slack_oauth.py +0 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/tests/test_upsert.py +0 -0
- {agentgraph_server-0.5.2 → agentgraph_server-0.5.4}/tests/test_web_connector.py +0 -0
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: AgentGraph
|
|
3
|
+
description: Use AgentGraph through its CLI or MCP tools to search and traverse selected local context, retrieve full source-backed evidence, fetch missing or stale resources, and troubleshoot connector availability.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# AgentGraph CLI skill
|
|
7
|
+
|
|
8
|
+
AgentGraph is a local knowledge graph for the agent the user already uses. It stores
|
|
9
|
+
selected messages, documents, people, feeds, pages, and relationships; the agent is
|
|
10
|
+
responsible for searching that graph, comparing evidence, and explaining its reasoning.
|
|
11
|
+
|
|
12
|
+
Prefer the `agentgraph` CLI when a shell is available. Use the equivalent MCP tools
|
|
13
|
+
when AgentGraph is connected directly to the agent. Do not query AgentGraph's SQLite
|
|
14
|
+
database or connector internals directly.
|
|
15
|
+
|
|
16
|
+
Use `agentgraph demo add` or `add_demo_tool` to add the fictional Atlas fixtures to
|
|
17
|
+
the configured graph. Remove them afterward with `agentgraph demo remove` or
|
|
18
|
+
`remove_demo_tool`.
|
|
19
|
+
|
|
20
|
+
## Commands that use localhost
|
|
21
|
+
|
|
22
|
+
`agentgraph poll` and connector or authentication commands that queue a poll or
|
|
23
|
+
historical ingest call the configured local AgentGraph HTTP server. If a sandbox blocks
|
|
24
|
+
one of these commands, request permission to contact that localhost server and retry
|
|
25
|
+
the command after approval.
|
|
26
|
+
|
|
27
|
+
## Investigation workflow
|
|
28
|
+
|
|
29
|
+
1. Discover likely entities with `agentgraph search "<query>" --json` or
|
|
30
|
+
`search_entities_tool`.
|
|
31
|
+
2. Open promising results with `agentgraph get <target> --json` or
|
|
32
|
+
`get_entity_tool` to read full content and source metadata. Search and query results
|
|
33
|
+
contain bounded snippets and set `content_truncated` when content was shortened.
|
|
34
|
+
3. Follow relationships with `agentgraph edges`, `agentgraph traverse`,
|
|
35
|
+
`get_edges_tool`, or `traverse_graph_tool`.
|
|
36
|
+
4. If an entity is a stub, or known context is stale, resolve or re-fetch it through
|
|
37
|
+
the owning connector and then repeat the read or traversal.
|
|
38
|
+
5. Compare source dates and contents. Distinguish source facts from inference and cite
|
|
39
|
+
each source URL or entity identifier used.
|
|
40
|
+
|
|
41
|
+
Start with search unless the user already supplied a graph ID, platform reference, or
|
|
42
|
+
known indexed URL. Use structured `query` only when the entity type or filters are
|
|
43
|
+
already known.
|
|
44
|
+
|
|
45
|
+
## Context lifecycle
|
|
46
|
+
|
|
47
|
+
- **Connect** is setup: installed connectors and their authentication/configuration
|
|
48
|
+
determine which selected sources AgentGraph can access.
|
|
49
|
+
- **Observe** records human attention to a supported browser URL and triggers a
|
|
50
|
+
targeted connector fetch.
|
|
51
|
+
- **Fetch** retrieves missing or stale context at the agent's request.
|
|
52
|
+
- **Refresh** uses polling or connector-owned ingest commands to update configured or
|
|
53
|
+
already-known context.
|
|
54
|
+
|
|
55
|
+
Only browser observation updates `observed_at`. Direct fetch, polling, and ingest can
|
|
56
|
+
change graph content without implying that the human viewed it.
|
|
57
|
+
|
|
58
|
+
## Evidence rules
|
|
59
|
+
|
|
60
|
+
- Use full entity content before making a source-backed claim; do not treat a search
|
|
61
|
+
snippet as the complete source.
|
|
62
|
+
- Treat an entity with no title and no content as an unresolved stub.
|
|
63
|
+
- Use source timestamps for chronology. `created_at` and `updated_at` describe the
|
|
64
|
+
local graph record; `source_created_at` and `source_updated_at` describe the source.
|
|
65
|
+
- Chat uploads live on `Message.metadata.attachments`. Gmail attachments are
|
|
66
|
+
`Document` stubs referenced by their owning `Email` and are downloaded separately.
|
|
67
|
+
- Inspect connector and auth state only when freshness matters, a fetch is required,
|
|
68
|
+
or a graph operation reports a connector or credential problem.
|
|
69
|
+
- Never merge Person entities without user confirmation. Treat delete, credential
|
|
70
|
+
removal, and unbookmarking as destructive actions.
|
|
71
|
+
|
|
72
|
+
## References
|
|
73
|
+
|
|
74
|
+
- Read [references/commands.md](references/commands.md) for CLI syntax, MCP mappings,
|
|
75
|
+
target formats, stub resolution, and result-size behavior.
|
|
76
|
+
- Read [references/data-model.md](references/data-model.md) for entity types, edges,
|
|
77
|
+
attachment representation, timestamps, and retention semantics.
|
|
78
|
+
- Read [references/operations.md](references/operations.md) for connectors, auth,
|
|
79
|
+
polling, connector-owned commands, downloads, bookmarks, deletion, person merging,
|
|
80
|
+
server setup, and skill installation.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Query and traversal commands
|
|
2
|
+
|
|
3
|
+
## CLI
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
agentgraph search "<query>" [--type <type>] [--platform <platform>] [--limit N] [--min-score N] [--json]
|
|
7
|
+
agentgraph query --type <entity-type> [--filter key=value] [--since 12h|30m|2d] [--mine] [--has-attachments] [--limit N] [--order-by created_at|updated_at|source_created_at|source_updated_at|observed_at|synced_at] [--json]
|
|
8
|
+
agentgraph get <entity-id|platform/ref|url> [--resolve] [--json]
|
|
9
|
+
agentgraph edges <entity-id|platform/ref> [--type <edge-type>] [--direction in|out|both] [--json]
|
|
10
|
+
agentgraph traverse <entity-id|platform/ref> [--resolve] [--depth 0..4] [--json]
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
`get` and `traverse` do not resolve stubs unless `--resolve` is supplied. Depth 0
|
|
14
|
+
returns only the starting entity; depths 1 through 4 include that many relationship
|
|
15
|
+
hops.
|
|
16
|
+
|
|
17
|
+
Use `--json` when results will be parsed programmatically. Search and query return
|
|
18
|
+
bounded content snippets with `content_truncated`; use `get` for the complete entity.
|
|
19
|
+
|
|
20
|
+
Targets accepted by `get` are full UUIDs, unambiguous UUID prefixes, platform
|
|
21
|
+
references such as `slack/T123/C123`, and indexed HTTP(S) URLs. `edges` and `traverse`
|
|
22
|
+
accept full UUIDs, unambiguous UUID prefixes, and platform references.
|
|
23
|
+
|
|
24
|
+
## MCP equivalents
|
|
25
|
+
|
|
26
|
+
```text
|
|
27
|
+
agentgraph search ... -> search_entities_tool(query, entity_types, platform, limit, min_score, refresh)
|
|
28
|
+
agentgraph query ... -> query_by_filter_tool(entity_type, filters, since, authored_by_me, has_attachments, limit, order_by, refresh)
|
|
29
|
+
agentgraph get ... -> get_entity_tool(entity_id, resolve)
|
|
30
|
+
agentgraph edges ... -> get_edges_tool(entity_id, edge_type, direction)
|
|
31
|
+
agentgraph traverse ... -> traverse_graph_tool(entity_id, max_depth, resolve)
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
MCP search and query default to `refresh=false`; set it only when fresh
|
|
35
|
+
connector-owned presentation metadata is needed. It does not replace a targeted
|
|
36
|
+
source fetch for stale content.
|
|
37
|
+
|
|
38
|
+
## Stubs
|
|
39
|
+
|
|
40
|
+
An entity is a stub when it has neither a title nor content. With the CLI, pass
|
|
41
|
+
`--resolve` to `get` or `traverse`. With MCP, set `resolve=true`, or call
|
|
42
|
+
`fetch_entity_by_id_tool` for the stub UUID and repeat the original operation.
|
|
43
|
+
|
|
44
|
+
For a known platform resource that is absent from the graph, use `agentgraph fetch
|
|
45
|
+
<platform> <resource-id>` or `fetch_entity_tool(platform, resource_id)`.
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# AgentGraph data model
|
|
2
|
+
|
|
3
|
+
## Entity types
|
|
4
|
+
|
|
5
|
+
| Type | Contains |
|
|
6
|
+
|---|---|
|
|
7
|
+
| `Channel` | Chat channels and DM threads. |
|
|
8
|
+
| `Document` | Text documents, feed/web pages, Drive files, and Gmail attachment stubs. |
|
|
9
|
+
| `Email` | Gmail email threads. |
|
|
10
|
+
| `Folder` | Drive folders and RSS feed containers. |
|
|
11
|
+
| `Message` | Chat messages. Chat images and uploads are stored in `metadata.attachments`. |
|
|
12
|
+
| `Person` | Source identities and confirmed cross-source identity merges. |
|
|
13
|
+
| `Spreadsheet` | Google Sheets and other spreadsheet resources. |
|
|
14
|
+
|
|
15
|
+
The valid core model does not currently include `Task` or `Project`.
|
|
16
|
+
|
|
17
|
+
## Relationships
|
|
18
|
+
|
|
19
|
+
Edges connect entities with types such as `authored`, `participated_in`, `posted_in`,
|
|
20
|
+
`replied_to`, `mentions`, `contains`, and `references`. Use direct edges when one-hop
|
|
21
|
+
context is sufficient and traversal when the investigation needs a bounded subgraph.
|
|
22
|
+
|
|
23
|
+
## Attachments
|
|
24
|
+
|
|
25
|
+
Chat photos and file uploads are attachments on `Message` entities. Query them with:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
agentgraph query --type Message --has-attachments --since 7d --json
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
`metadata.attachments` is a JSON array containing `url`, `filename`, `content_type`,
|
|
32
|
+
and optional `width` and `height` fields.
|
|
33
|
+
|
|
34
|
+
Gmail attachments are different: they are `Document` stubs referenced by the owning
|
|
35
|
+
`Email`. Re-fetch the email thread, traverse one hop, then download the attachment
|
|
36
|
+
document.
|
|
37
|
+
|
|
38
|
+
## Timestamps and retention
|
|
39
|
+
|
|
40
|
+
- `created_at`: local graph insertion time.
|
|
41
|
+
- `updated_at`: last material change to the stored entity.
|
|
42
|
+
- `source_created_at`: source-reported creation or publication time.
|
|
43
|
+
- `source_updated_at`: source-reported modification time.
|
|
44
|
+
- `synced_at`: last successful connector synchronization.
|
|
45
|
+
- `observed_at`: last accepted browser observation of that exact observable entity.
|
|
46
|
+
|
|
47
|
+
Observable entities expire from `observed_at`, or local `created_at` if never
|
|
48
|
+
observed. Messages and Gmail attachment documents follow their parent. Persons remain
|
|
49
|
+
while connected. Configured RSS feed Folders are persistent source entities and are
|
|
50
|
+
removed by the RSS connector's `remove` command or explicit deletion. Bookmarks protect
|
|
51
|
+
an entity from automatic expiration.
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# AgentGraph operations
|
|
2
|
+
|
|
3
|
+
## Availability and authentication
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
agentgraph connectors [--verify] [--json]
|
|
7
|
+
agentgraph auth [--verify] [--json] status
|
|
8
|
+
agentgraph auth <provider> [--add] [--account <account-id>]
|
|
9
|
+
agentgraph auth remove <provider> [--account <account-id>] [--json]
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Use `agentgraph connectors --json` to discover installed connector source names,
|
|
13
|
+
valid platform values, URL ownership, polling delegation, and sync state. Do not rely
|
|
14
|
+
on a hardcoded platform list. Use `--verify` only when a live provider check is
|
|
15
|
+
needed.
|
|
16
|
+
|
|
17
|
+
MCP equivalents are `list_connectors_tool`, `list_auth_providers_tool`,
|
|
18
|
+
`authenticate_provider_tool`, and `remove_auth_provider_tool`.
|
|
19
|
+
|
|
20
|
+
## Fetch and refresh
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
agentgraph fetch <platform> <resource-id> [--json]
|
|
24
|
+
agentgraph fetch-entity <entity-id> [--json]
|
|
25
|
+
agentgraph poll [<source>] [--json]
|
|
26
|
+
agentgraph connector <source> <command> [args...] [--json]
|
|
27
|
+
agentgraph connector <source> --help
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
The MCP equivalents are `fetch_entity_tool`, `fetch_entity_by_id_tool`,
|
|
31
|
+
`poll_connectors_tool`, and `run_connector_command_tool`.
|
|
32
|
+
|
|
33
|
+
Fetch persists the connector's complete returned batch before reporting counts and
|
|
34
|
+
does not update `observed_at`. Poll reports `polled`, `already_running`, and `skipped`.
|
|
35
|
+
A connector can be refreshed by another connector, so also inspect `polled_by` and
|
|
36
|
+
`sync` in connector status.
|
|
37
|
+
|
|
38
|
+
Historical ingest is connector-owned. Discover it through connector help. For
|
|
39
|
+
example, Gmail exposes:
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
agentgraph connector gmail ingest [--account <account-id>] [--json]
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
The MCP form is `run_connector_command_tool("gmail", ["ingest", ...])`. There is no
|
|
46
|
+
top-level `agentgraph ingest` command or `ingest_connector_tool`.
|
|
47
|
+
|
|
48
|
+
## Files and retained context
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
agentgraph download <entity-id|platform/ref> [--output <file-or-dir>] [--json]
|
|
52
|
+
agentgraph bookmark <entity-id|platform/ref|url> [--remove] [--json]
|
|
53
|
+
agentgraph delete <entity-id|platform/ref|url> [--json]
|
|
54
|
+
agentgraph unify-persons <primary-person-id> <duplicate-person-id>... [--json]
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Use `download_entity_tool`, `bookmark_entity_tool`, `delete_entity_tool`, and
|
|
58
|
+
`unify_persons_tool` through MCP. Confirm identity before person unification. The
|
|
59
|
+
first Person is canonical and keeps its ID. Deletion removes connected edges.
|
|
60
|
+
|
|
61
|
+
## Server and skill setup
|
|
62
|
+
|
|
63
|
+
`agentgraph serve` runs the required local AgentGraph service. Follow the environment's
|
|
64
|
+
process-management instructions rather than starting a duplicate foreground server
|
|
65
|
+
when a service manager already owns it.
|
|
66
|
+
|
|
67
|
+
`agentgraph poll` and connector or authentication commands that queue a poll or ingest
|
|
68
|
+
contact that service over localhost. If sandboxed execution blocks one of those
|
|
69
|
+
commands, request permission to contact the configured localhost server and retry it.
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
agentgraph mcp-config
|
|
73
|
+
agentgraph mcp-serve
|
|
74
|
+
agentgraph install-skill [AgentGraph] [--target user|project] [--no-claude] [--force] [--json]
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
The skill installer is available only through the `agentgraph install-skill` CLI command.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agentgraph-server
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.4
|
|
4
4
|
Summary: A local-first CLI and MCP server that turns selected digital sources into a searchable graph for the AI agent you already use.
|
|
5
5
|
Requires-Python: >=3.12
|
|
6
6
|
Description-Content-Type: text/markdown
|
|
@@ -46,11 +46,11 @@ AgentGraph is a local-first, self-hosted CLI and MCP server that turns the sourc
|
|
|
46
46
|
|
|
47
47
|
> **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.
|
|
48
48
|
|
|
49
|
-
[See the demo](docs-src/demo.md) · [
|
|
49
|
+
[See the demo](docs-src/demo.md) · [Install](docs-src/install.md) · [Documentation](https://simonexmachina.github.io/agent-graph/) · [Chrome extension](https://chromewebstore.google.com/detail/agentgraph-extension/iilkfclglabllelhjacijldknapbhidi)
|
|
50
50
|
|
|
51
51
|
<picture>
|
|
52
52
|
<source media="(prefers-color-scheme: dark)" srcset="docs-src/assets/diagrams/architecture-overview-dark.svg">
|
|
53
|
-
<img src="docs-src/assets/diagrams/architecture-overview-light.svg" alt="
|
|
53
|
+
<img src="docs-src/assets/diagrams/architecture-overview-light.svg" alt="Observe, Fetch, and Refresh converge on connector packages that read selected services and write to a local graph. Agents access the graph through the CLI or MCP, while Expiry applies the retention model.">
|
|
54
54
|
</picture>
|
|
55
55
|
|
|
56
56
|
## Why AgentGraph
|
|
@@ -121,7 +121,7 @@ Connect the agent you already use:
|
|
|
121
121
|
agentgraph mcp-config
|
|
122
122
|
```
|
|
123
123
|
|
|
124
|
-
Use the printed stdio configuration with Claude Desktop, Claude Code, Codex, or another compatible MCP client. ChatGPT developer mode uses the streamable HTTP `/mcp` endpoint through HTTPS.
|
|
124
|
+
Use the printed stdio configuration with Claude Desktop, Claude Code, Codex, or another compatible MCP client. ChatGPT developer mode uses the streamable HTTP `/mcp` endpoint through HTTPS. See [Install](docs-src/install.md) for the complete setup path.
|
|
125
125
|
|
|
126
126
|
## What AgentGraph is and is not
|
|
127
127
|
|
|
@@ -152,7 +152,7 @@ An MCP client you connect can receive content from the local graph, subject to t
|
|
|
152
152
|
## Documentation
|
|
153
153
|
|
|
154
154
|
- [Install](docs-src/install.md)
|
|
155
|
-
- [
|
|
155
|
+
- [Install](docs-src/install.md)
|
|
156
156
|
- [How AgentGraph works](docs-src/how-it-works.md)
|
|
157
157
|
- [Connectors](docs-src/connectors.md)
|
|
158
158
|
- [Configuration](docs-src/configuration.md)
|
|
@@ -165,7 +165,7 @@ An MCP client you connect can receive content from the local graph, subject to t
|
|
|
165
165
|
See [AGENTS.md](AGENTS.md) for repository-specific development rules. Before opening a change, run:
|
|
166
166
|
|
|
167
167
|
```bash
|
|
168
|
-
uv run pytest tests/ -m "not integration" -q
|
|
168
|
+
uv run pytest tests/ -m "not integration and not browser" -q
|
|
169
169
|
uv run pyright
|
|
170
170
|
uv run ruff check agentgraph/ packages/ scripts/ tests/
|
|
171
171
|
```
|
|
@@ -6,11 +6,11 @@ AgentGraph is a local-first, self-hosted CLI and MCP server that turns the sourc
|
|
|
6
6
|
|
|
7
7
|
> **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.
|
|
8
8
|
|
|
9
|
-
[See the demo](docs-src/demo.md) · [
|
|
9
|
+
[See the demo](docs-src/demo.md) · [Install](docs-src/install.md) · [Documentation](https://simonexmachina.github.io/agent-graph/) · [Chrome extension](https://chromewebstore.google.com/detail/agentgraph-extension/iilkfclglabllelhjacijldknapbhidi)
|
|
10
10
|
|
|
11
11
|
<picture>
|
|
12
12
|
<source media="(prefers-color-scheme: dark)" srcset="docs-src/assets/diagrams/architecture-overview-dark.svg">
|
|
13
|
-
<img src="docs-src/assets/diagrams/architecture-overview-light.svg" alt="
|
|
13
|
+
<img src="docs-src/assets/diagrams/architecture-overview-light.svg" alt="Observe, Fetch, and Refresh converge on connector packages that read selected services and write to a local graph. Agents access the graph through the CLI or MCP, while Expiry applies the retention model.">
|
|
14
14
|
</picture>
|
|
15
15
|
|
|
16
16
|
## Why AgentGraph
|
|
@@ -81,7 +81,7 @@ Connect the agent you already use:
|
|
|
81
81
|
agentgraph mcp-config
|
|
82
82
|
```
|
|
83
83
|
|
|
84
|
-
Use the printed stdio configuration with Claude Desktop, Claude Code, Codex, or another compatible MCP client. ChatGPT developer mode uses the streamable HTTP `/mcp` endpoint through HTTPS.
|
|
84
|
+
Use the printed stdio configuration with Claude Desktop, Claude Code, Codex, or another compatible MCP client. ChatGPT developer mode uses the streamable HTTP `/mcp` endpoint through HTTPS. See [Install](docs-src/install.md) for the complete setup path.
|
|
85
85
|
|
|
86
86
|
## What AgentGraph is and is not
|
|
87
87
|
|
|
@@ -112,7 +112,7 @@ An MCP client you connect can receive content from the local graph, subject to t
|
|
|
112
112
|
## Documentation
|
|
113
113
|
|
|
114
114
|
- [Install](docs-src/install.md)
|
|
115
|
-
- [
|
|
115
|
+
- [Install](docs-src/install.md)
|
|
116
116
|
- [How AgentGraph works](docs-src/how-it-works.md)
|
|
117
117
|
- [Connectors](docs-src/connectors.md)
|
|
118
118
|
- [Configuration](docs-src/configuration.md)
|
|
@@ -125,7 +125,7 @@ An MCP client you connect can receive content from the local graph, subject to t
|
|
|
125
125
|
See [AGENTS.md](AGENTS.md) for repository-specific development rules. Before opening a change, run:
|
|
126
126
|
|
|
127
127
|
```bash
|
|
128
|
-
uv run pytest tests/ -m "not integration" -q
|
|
128
|
+
uv run pytest tests/ -m "not integration and not browser" -q
|
|
129
129
|
uv run pyright
|
|
130
130
|
uv run ruff check agentgraph/ packages/ scripts/ tests/
|
|
131
131
|
```
|