agentgraph-server 0.6.0__tar.gz → 0.7.0__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.
Files changed (116) hide show
  1. {agentgraph_server-0.6.0/.agents/skills/AgentGraph → agentgraph_server-0.7.0/.agents/skills/agentgraph}/SKILL.md +25 -8
  2. {agentgraph_server-0.6.0/.agents/skills/AgentGraph → agentgraph_server-0.7.0/.agents/skills/agentgraph}/references/commands.md +12 -9
  3. {agentgraph_server-0.6.0/.agents/skills/AgentGraph → agentgraph_server-0.7.0/.agents/skills/agentgraph}/references/data-model.md +4 -2
  4. {agentgraph_server-0.6.0/.agents/skills/AgentGraph → agentgraph_server-0.7.0/.agents/skills/agentgraph}/references/operations.md +37 -7
  5. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/.agents/skills/slack-auth/SKILL.md +4 -2
  6. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/PKG-INFO +16 -15
  7. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/README.md +3 -3
  8. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph/backends/sqlite/backend.py +327 -102
  9. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph/backends/sqlite/schema.sql +2 -0
  10. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph/backends/sqlite/vector.py +26 -19
  11. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph/cli.py +192 -112
  12. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph/cli_query.py +141 -124
  13. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph/cli_sync.py +17 -8
  14. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph/config.py +41 -7
  15. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph/connectors/base.py +52 -2
  16. agentgraph_server-0.7.0/agentgraph/connectors/command_effects.py +70 -0
  17. agentgraph_server-0.7.0/agentgraph/connectors/feed.py +211 -0
  18. agentgraph_server-0.7.0/agentgraph/connectors/match_patterns.py +97 -0
  19. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph/connectors/registry.py +8 -0
  20. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph/core/storage.py +37 -5
  21. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph/demo.py +3 -1
  22. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph/graph/bookmark.py +32 -9
  23. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph/graph/delete.py +14 -0
  24. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph/graph/embeddings.py +11 -2
  25. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph/graph/fetch.py +3 -1
  26. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph/graph/person.py +15 -0
  27. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph/graph/query.py +48 -14
  28. agentgraph_server-0.7.0/agentgraph/graph/upsert.py +101 -0
  29. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph/mcp/server.py +277 -200
  30. agentgraph_server-0.7.0/agentgraph/query_client.py +552 -0
  31. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph/server/app.py +28 -2
  32. agentgraph_server-0.6.0/agentgraph/server/cli_api.py → agentgraph_server-0.7.0/agentgraph/server/browse_api.py +32 -157
  33. agentgraph_server-0.7.0/agentgraph/server/graph_api.py +227 -0
  34. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph/server/meta_api.py +1 -1
  35. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph/server/observation.py +69 -6
  36. agentgraph_server-0.7.0/agentgraph/server/presentation.py +70 -0
  37. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph/server/static/viewer.html +46 -23
  38. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph/server/sync.py +20 -7
  39. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph/server/sync_api.py +1 -1
  40. agentgraph_server-0.7.0/agentgraph/server/uds.py +112 -0
  41. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph/skills.py +6 -4
  42. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph_server.egg-info/PKG-INFO +16 -15
  43. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph_server.egg-info/SOURCES.txt +21 -5
  44. agentgraph_server-0.7.0/agentgraph_server.egg-info/requires.txt +38 -0
  45. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/pyproject.toml +15 -14
  46. agentgraph_server-0.7.0/tests/test_auth_status_methods.py +47 -0
  47. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/tests/test_browse.py +207 -151
  48. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/tests/test_cli.py +421 -73
  49. agentgraph_server-0.7.0/tests/test_command_effects.py +150 -0
  50. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/tests/test_config.py +71 -1
  51. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/tests/test_connectors.py +96 -1
  52. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/tests/test_docs_build.py +17 -7
  53. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/tests/test_embeddings.py +31 -16
  54. agentgraph_server-0.7.0/tests/test_entity_types.py +100 -0
  55. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/tests/test_expiration.py +28 -0
  56. agentgraph_server-0.7.0/tests/test_feed_connectors.py +406 -0
  57. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/tests/test_fetch.py +31 -1
  58. agentgraph_server-0.7.0/tests/test_match_patterns.py +32 -0
  59. agentgraph_server-0.7.0/tests/test_mcp_transport.py +193 -0
  60. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/tests/test_observation.py +121 -9
  61. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/tests/test_query.py +396 -38
  62. agentgraph_server-0.7.0/tests/test_query_client.py +232 -0
  63. agentgraph_server-0.7.0/tests/test_query_parity.py +292 -0
  64. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/tests/test_registry.py +14 -0
  65. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/tests/test_release_metadata.py +1 -1
  66. agentgraph_server-0.7.0/tests/test_route_resolution.py +72 -0
  67. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/tests/test_rss_connector.py +546 -39
  68. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/tests/test_schema.py +81 -1
  69. agentgraph_server-0.7.0/tests/test_server_lifespan.py +89 -0
  70. agentgraph_server-0.7.0/tests/test_server_uds.py +118 -0
  71. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/tests/test_slack_auth_artifacts.py +2 -1
  72. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/tests/test_slack_oauth.py +32 -6
  73. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/tests/test_sync.py +55 -3
  74. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/tests/test_upsert.py +450 -5
  75. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/tests/test_viewer_layout_contract.py +52 -9
  76. agentgraph_server-0.7.0/tests/test_web_connector.py +637 -0
  77. agentgraph_server-0.6.0/agentgraph/connectors/command_effects.py +0 -18
  78. agentgraph_server-0.6.0/agentgraph/graph/upsert.py +0 -49
  79. agentgraph_server-0.6.0/agentgraph_server.egg-info/requires.txt +0 -37
  80. agentgraph_server-0.6.0/tests/test_command_effects.py +0 -59
  81. agentgraph_server-0.6.0/tests/test_web_connector.py +0 -338
  82. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/LICENSE +0 -0
  83. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph/__init__.py +0 -0
  84. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph/auth/__init__.py +0 -0
  85. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph/auth/credentials.py +0 -0
  86. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph/backends/__init__.py +0 -0
  87. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph/backends/sqlite/__init__.py +0 -0
  88. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph/connectors/__init__.py +0 -0
  89. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph/connectors/status.py +0 -0
  90. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph/core/__init__.py +0 -0
  91. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph/core/context.py +0 -0
  92. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph/core/runtime.py +0 -0
  93. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph/demo_fixtures/reliable-webhooks.md +0 -0
  94. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph/demo_fixtures/retry-guidance.md +0 -0
  95. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph/graph/__init__.py +0 -0
  96. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph/graph/download.py +0 -0
  97. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph/graph/expiration.py +0 -0
  98. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph/graph/link.py +0 -0
  99. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph/graph/operations.py +0 -0
  100. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph/logging.py +0 -0
  101. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph/mcp/__init__.py +0 -0
  102. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph/perf.py +0 -0
  103. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph/server/__init__.py +0 -0
  104. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph/server/router.py +0 -0
  105. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph_server.egg-info/dependency_links.txt +0 -0
  106. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph_server.egg-info/entry_points.txt +0 -0
  107. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/agentgraph_server.egg-info/top_level.txt +0 -0
  108. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/setup.cfg +0 -0
  109. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/tests/test_auth.py +0 -0
  110. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/tests/test_benchmarks.py +0 -0
  111. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/tests/test_discord_attachments.py +0 -0
  112. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/tests/test_graph_operations.py +0 -0
  113. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/tests/test_launch_demo.py +0 -0
  114. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/tests/test_logging.py +0 -0
  115. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/tests/test_router.py +0 -0
  116. {agentgraph_server-0.6.0 → agentgraph_server-0.7.0}/tests/test_server_imports.py +0 -0
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: AgentGraph
2
+ name: agentgraph
3
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
4
  ---
5
5
 
@@ -17,19 +17,33 @@ Use `agentgraph demo add` or `add_demo_tool` to add the fictional Atlas fixtures
17
17
  the configured graph. Remove them afterward with `agentgraph demo remove` or
18
18
  `remove_demo_tool`.
19
19
 
20
- ## Commands that use localhost
20
+ ## Commands that use the local server
21
21
 
22
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.
23
+ historical ingest always call the local AgentGraph server. Reads (`search`, `get`,
24
+ `edges`, `traverse`) and `fetch`/`download` use it when it is reachable and
25
+ otherwise read the database directly, so they work with no server running.
26
+
27
+ Many agent sandboxes deny loopback TCP but allow an allowlisted Unix socket, so the
28
+ server listens on both and clients prefer the socket. If a command fails because the
29
+ sandbox blocked it:
30
+
31
+ - For `poll`, ingest, or auth commands there is no fallback — request permission to
32
+ contact the local server, or ask the user to allowlist the socket
33
+ (`~/.agentgraph/agentgraph.sock`), then retry.
34
+ - For reads, `AGENTGRAPH_QUERY_TRANSPORT=in-process` bypasses the server entirely.
35
+ - `AGENTGRAPH_QUERY_TRANSPORT=server agentgraph search x --limit 1` reports plainly
36
+ whether the server is reachable, instead of silently falling back.
37
+
38
+ See the Coding agent sandboxes section of the configuration docs for the per-agent
39
+ allowlist settings.
26
40
 
27
41
  ## Investigation workflow
28
42
 
29
43
  1. Discover likely entities with `agentgraph search "<query>" --json` or
30
44
  `search_entities_tool`.
31
45
  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
46
+ `get_entity_tool` to read full content and source metadata. Search results
33
47
  contain bounded snippets and set `content_truncated` when content was shortened.
34
48
  3. Follow relationships with `agentgraph edges`, `agentgraph traverse`,
35
49
  `get_edges_tool`, or `traverse_graph_tool`.
@@ -39,8 +53,11 @@ the command after approval.
39
53
  each source URL or entity identifier used.
40
54
 
41
55
  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.
56
+ known indexed URL. `search` covers both jobs: pass a query string for ranked
57
+ discovery, and add or use only its filters (`--type`, `--platform`, `--filter`,
58
+ `--since`, `--mine`, `--has-attachments`) when the entity type or constraints are
59
+ already known. Omitting the query string turns it into a deterministic listing
60
+ ordered by date.
44
61
 
45
62
  ## Context lifecycle
46
63
 
@@ -3,19 +3,23 @@
3
3
  ## CLI
4
4
 
5
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]
6
+ agentgraph search ["<query>"] [--type <type>] [--platform <platform>] [--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] [--min-score N] [--json]
8
7
  agentgraph get <entity-id|platform/ref|url> [--resolve] [--json]
9
8
  agentgraph edges <entity-id|platform/ref> [--type <edge-type>] [--direction in|out|both] [--json]
10
9
  agentgraph traverse <entity-id|platform/ref> [--resolve] [--depth 0..4] [--json]
11
10
  ```
12
11
 
12
+ The query string is optional. With one, results are ranked by relevance and every
13
+ filter is applied as a hard constraint (`--limit` defaults to 10). Without one there
14
+ is no ranking: the filters select the entities, `--order-by` sorts them newest first,
15
+ `--min-score` is ignored, and `--limit` defaults to 50.
16
+
13
17
  `get` and `traverse` do not resolve stubs unless `--resolve` is supplied. Depth 0
14
18
  returns only the starting entity; depths 1 through 4 include that many relationship
15
19
  hops.
16
20
 
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.
21
+ Use `--json` when results will be parsed programmatically. Search returns bounded
22
+ content snippets with `content_truncated`; use `get` for the complete entity.
19
23
 
20
24
  Targets accepted by `get` are full UUIDs, unambiguous UUID prefixes, platform
21
25
  references such as `slack/T123/C123`, and indexed HTTP(S) URLs. `edges` and `traverse`
@@ -24,16 +28,15 @@ accept full UUIDs, unambiguous UUID prefixes, and platform references.
24
28
  ## MCP equivalents
25
29
 
26
30
  ```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)
31
+ agentgraph search ... -> search_entities_tool(query, entity_types, platform, filters, since, authored_by_me, has_attachments, limit, order_by, min_score, refresh)
29
32
  agentgraph get ... -> get_entity_tool(entity_id, resolve)
30
33
  agentgraph edges ... -> get_edges_tool(entity_id, edge_type, direction)
31
34
  agentgraph traverse ... -> traverse_graph_tool(entity_id, max_depth, resolve)
32
35
  ```
33
36
 
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
+ MCP search defaults to `refresh=false`; set it only when fresh connector-owned
38
+ presentation metadata is needed. It does not replace a targeted source fetch for
39
+ stale content.
37
40
 
38
41
  ## Stubs
39
42
 
@@ -11,8 +11,10 @@
11
11
  | `Message` | Chat messages. Chat images and uploads are stored in `metadata.attachments`. |
12
12
  | `Person` | Source identities and confirmed cross-source identity merges. |
13
13
  | `Spreadsheet` | Google Sheets and other spreadsheet resources. |
14
+ | `Task` | Tracked work items such as Jira issues. Issue key, status, and assignee live in `metadata`. |
15
+ | `Video` | Recorded videos such as Looms. The transcript is indexed as content and `metadata.web_url` links to the video. |
14
16
 
15
- The valid core model does not currently include `Task` or `Project`.
17
+ The valid core model does not currently include `Project`.
16
18
 
17
19
  ## Relationships
18
20
 
@@ -25,7 +27,7 @@ context is sufficient and traversal when the investigation needs a bounded subgr
25
27
  Chat photos and file uploads are attachments on `Message` entities. Query them with:
26
28
 
27
29
  ```bash
28
- agentgraph query --type Message --has-attachments --since 7d --json
30
+ agentgraph search --type Message --has-attachments --since 7d --json
29
31
  ```
30
32
 
31
33
  `metadata.attachments` is a JSON array containing `url`, `filename`, `content_type`,
@@ -3,13 +3,13 @@
3
3
  ## Availability and authentication
4
4
 
5
5
  ```bash
6
- agentgraph connectors [--verify] [--json]
6
+ agentgraph list-connectors [--verify] [--json]
7
7
  agentgraph auth [--verify] [--json] status
8
8
  agentgraph auth <provider> [--add] [--account <account-id>]
9
9
  agentgraph auth remove <provider> [--account <account-id>] [--json]
10
10
  ```
11
11
 
12
- Use `agentgraph connectors --json` to discover installed connector source names,
12
+ Use `agentgraph list-connectors --json` to discover installed connector source names,
13
13
  valid platform values, URL ownership, polling delegation, and sync state. Do not rely
14
14
  on a hardcoded platform list. Use `--verify` only when a live provider check is
15
15
  needed.
@@ -30,8 +30,10 @@ agentgraph connector <source> --help
30
30
  The MCP equivalents are `fetch_entity_tool`, `fetch_entity_by_id_tool`,
31
31
  `poll_connectors_tool`, and `run_connector_command_tool`.
32
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`.
33
+ Fetch persists the connector's complete returned batch before reporting entity,
34
+ metadata-patch, person, and edge counts. Metadata patches record successful non-material
35
+ refreshes without entity upsert events. Fetch does not update `observed_at`. Poll reports
36
+ `polled`, `already_running`, and `skipped`.
35
37
  A connector can be refreshed by another connector, so also inspect `polled_by` and
36
38
  `sync` in connector status.
37
39
 
@@ -45,6 +47,22 @@ agentgraph connector gmail ingest [--account <account-id>] [--json]
45
47
  The MCP form is `run_connector_command_tool("gmail", ["ingest", ...])`. There is no
46
48
  top-level `agentgraph ingest` command or `ingest_connector_tool`.
47
49
 
50
+ For an oversized HTML page, request a one-off web fetch that removes style, script,
51
+ noscript, and comment blocks before applying the response-size limit:
52
+
53
+ ```bash
54
+ agentgraph connector web fetch <url> --compact [--json]
55
+ ```
56
+
57
+ The MCP form is `run_connector_command_tool("web", ["fetch", "<url>", "--compact"])`.
58
+ Compaction applies only to that command; ordinary fetches, bookmarks, observations, and
59
+ RSS article hydration retain their default behavior.
60
+
61
+ Configure browser observation rules with `agentgraph connector web observe <url-or-prefix>`
62
+ and remove them with `agentgraph connector web observe <url-or-prefix> --remove`. The MCP
63
+ forms are `run_connector_command_tool("web", ["observe", "<url-or-prefix>"])` and
64
+ `run_connector_command_tool("web", ["observe", "<url-or-prefix>", "--remove"])`.
65
+
48
66
  ## Files and retained context
49
67
 
50
68
  ```bash
@@ -64,14 +82,26 @@ first Person is canonical and keeps its ID. Deletion removes connected edges.
64
82
  process-management instructions rather than starting a duplicate foreground server
65
83
  when a service manager already owns it.
66
84
 
85
+ The server listens on a Unix socket (`AGENTGRAPH_SERVER_UDS_PATH`, default
86
+ `~/.agentgraph/agentgraph.sock`) as well as TCP, because most agent sandboxes deny
87
+ loopback TCP while permitting an allowlisted socket.
88
+
67
89
  `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.
90
+ always contact that service and have no local fallback; if sandboxed execution blocks
91
+ one, request permission to contact the server or ask for the socket to be allowlisted,
92
+ then retry. Reads and `fetch`/`download` follow `AGENTGRAPH_QUERY_TRANSPORT`
93
+ (`auto` by default: socket, then TCP, then in-process), so they keep working when the
94
+ server is unreachable.
70
95
 
71
96
  ```bash
72
97
  agentgraph mcp-config
73
98
  agentgraph mcp-serve
74
- agentgraph install-skill [AgentGraph] [--target user|project] [--no-claude] [--force] [--json]
99
+ agentgraph install-skill [agentgraph] [--target user|project] [--no-claude] [--force] [--json]
75
100
  ```
76
101
 
102
+ `agentgraph mcp-config` prints local stdio setup for ChatGPT Desktop Work Mode and
103
+ Claude Desktop. In ChatGPT Desktop, enter the printed executable in **Command to
104
+ launch** and `mcp-serve` in **Arguments**; for Claude Desktop, add the printed JSON
105
+ to its MCP configuration file.
106
+
77
107
  The skill installer is available only through the `agentgraph install-skill` CLI command.
@@ -28,8 +28,10 @@ permission in the target workspace.
28
28
  Admins create AgentGraph at `https://api.slack.com/apps` with **Create New App →
29
29
  From an app manifest**, select the target workspace, paste the manifest printed by
30
30
  AgentGraph into Slack's **JSON** tab, approve it, and enter its Client ID. The
31
- manifest includes the only
32
- supported callback, `http://localhost:8766/slack/oauth/callback`.
31
+ manifest includes the callback, which defaults to `http://localhost:8766/slack/oauth/callback`; set
32
+ `AGENTGRAPH_SLACK_OAUTH_CALLBACK_PORT` before setup to use another local port. The
33
+ manifest printed by AgentGraph uses that port, which must match the Slack app's
34
+ registered redirect URL.
33
35
 
34
36
  Non-admins choose either **Enter a Client ID provided by a Slack admin** or **Set up
35
37
  the AgentGraph Slack App**. The setup path checks whether the target workspace
@@ -1,12 +1,12 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agentgraph-server
3
- Version: 0.6.0
3
+ Version: 0.7.0
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
7
7
  License-File: LICENSE
8
8
  Requires-Dist: aiosqlite>=0.20.0
9
- Requires-Dist: agentgraph-connector-web<0.6,>=0.5.0
9
+ Requires-Dist: agentgraph-connector-web<0.7,>=0.5.5
10
10
  Requires-Dist: apscheduler>=3.11.2
11
11
  Requires-Dist: click<8.4
12
12
  Requires-Dist: fastapi>=0.135.2
@@ -16,26 +16,27 @@ Requires-Dist: mcp>=1.26.0
16
16
  Requires-Dist: numpy>=2.4.6
17
17
  Requires-Dist: pydantic>=2.12.5
18
18
  Requires-Dist: pydantic-settings>=2.13.1
19
+ Requires-Dist: questionary>=2.1.1
19
20
  Requires-Dist: rich>=14.3.3
20
21
  Requires-Dist: sqlite-vec>=0.1.9
21
22
  Requires-Dist: typer>=0.24.1
22
23
  Requires-Dist: uvicorn>=0.42.0
23
24
  Provides-Extra: google
24
- Requires-Dist: agentgraph-connector-google<0.6,>=0.5.0; extra == "google"
25
+ Requires-Dist: agentgraph-connector-google<0.7,>=0.5.5; extra == "google"
25
26
  Provides-Extra: slack
26
- Requires-Dist: agentgraph-connector-slack<0.6,>=0.5.0; extra == "slack"
27
+ Requires-Dist: agentgraph-connector-slack<0.7,>=0.5.5; extra == "slack"
27
28
  Provides-Extra: discord
28
- Requires-Dist: agentgraph-connector-discord<0.6,>=0.5.0; extra == "discord"
29
+ Requires-Dist: agentgraph-connector-discord<0.7,>=0.5.5; extra == "discord"
29
30
  Provides-Extra: rss
30
- Requires-Dist: agentgraph-connector-rss<0.6,>=0.5.0; extra == "rss"
31
+ Requires-Dist: agentgraph-connector-rss<0.7,>=0.5.5; extra == "rss"
31
32
  Provides-Extra: web
32
- Requires-Dist: agentgraph-connector-web<0.6,>=0.5.0; extra == "web"
33
+ Requires-Dist: agentgraph-connector-web<0.7,>=0.5.5; extra == "web"
33
34
  Provides-Extra: all
34
- Requires-Dist: agentgraph-connector-web<0.6,>=0.5.0; extra == "all"
35
- Requires-Dist: agentgraph-connector-google<0.6,>=0.5.0; extra == "all"
36
- Requires-Dist: agentgraph-connector-slack<0.6,>=0.5.0; extra == "all"
37
- Requires-Dist: agentgraph-connector-discord<0.6,>=0.5.0; extra == "all"
38
- Requires-Dist: agentgraph-connector-rss<0.6,>=0.5.0; extra == "all"
35
+ Requires-Dist: agentgraph-connector-web<0.7,>=0.5.5; extra == "all"
36
+ Requires-Dist: agentgraph-connector-google<0.7,>=0.5.5; extra == "all"
37
+ Requires-Dist: agentgraph-connector-slack<0.7,>=0.5.5; extra == "all"
38
+ Requires-Dist: agentgraph-connector-discord<0.7,>=0.5.5; extra == "all"
39
+ Requires-Dist: agentgraph-connector-rss<0.7,>=0.5.5; extra == "all"
39
40
  Dynamic: license-file
40
41
 
41
42
  # AgentGraph
@@ -46,7 +47,7 @@ AgentGraph is a local-first, self-hosted CLI and MCP server that turns the sourc
46
47
 
47
48
  > **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
49
 
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
+ [See the demo](docs-src/demo.md) · [Install](docs-src/install.md) · [Documentation](https://agentgraph.simonwa.de/) · [Chrome extension](https://chromewebstore.google.com/detail/agentgraph-extension/iilkfclglabllelhjacijldknapbhidi)
50
51
 
51
52
  <picture>
52
53
  <source media="(prefers-color-scheme: dark)" srcset="docs-src/assets/diagrams/architecture-overview-dark.svg">
@@ -110,7 +111,7 @@ agentgraph serve
110
111
  Install the [AgentGraph Chrome extension](https://chromewebstore.google.com/detail/agentgraph-extension/iilkfclglabllelhjacijldknapbhidi), browse a supported resource, then verify that context landed:
111
112
 
112
113
  ```bash
113
- agentgraph connectors
114
+ agentgraph list-connectors
114
115
  agentgraph search "project kickoff notes"
115
116
  agentgraph traverse <entity-id> --depth 2
116
117
  ```
@@ -121,7 +122,7 @@ Connect the agent you already use:
121
122
  agentgraph mcp-config
122
123
  ```
123
124
 
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
+ Use the printed instructions to connect ChatGPT Desktop Work Mode or Claude Desktop to the local stdio server. See [Install](docs-src/install.md) for the complete setup path.
125
126
 
126
127
  ## What AgentGraph is and is not
127
128
 
@@ -6,7 +6,7 @@ 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) · [Install](docs-src/install.md) · [Documentation](https://simonexmachina.github.io/agent-graph/) · [Chrome extension](https://chromewebstore.google.com/detail/agentgraph-extension/iilkfclglabllelhjacijldknapbhidi)
9
+ [See the demo](docs-src/demo.md) · [Install](docs-src/install.md) · [Documentation](https://agentgraph.simonwa.de/) · [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">
@@ -70,7 +70,7 @@ agentgraph serve
70
70
  Install the [AgentGraph Chrome extension](https://chromewebstore.google.com/detail/agentgraph-extension/iilkfclglabllelhjacijldknapbhidi), browse a supported resource, then verify that context landed:
71
71
 
72
72
  ```bash
73
- agentgraph connectors
73
+ agentgraph list-connectors
74
74
  agentgraph search "project kickoff notes"
75
75
  agentgraph traverse <entity-id> --depth 2
76
76
  ```
@@ -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. See [Install](docs-src/install.md) for the complete setup path.
84
+ Use the printed instructions to connect ChatGPT Desktop Work Mode or Claude Desktop to the local stdio server. See [Install](docs-src/install.md) for the complete setup path.
85
85
 
86
86
  ## What AgentGraph is and is not
87
87