A local-first CLI and MCP server that turns selected digital sources into a searchable graph for the AI agent you already use.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio · http counts 0 tools · 0 res
· 0 prompts
permission surface via code analysis
No tools enumerated yet for this server.
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed v0.8.0 · analyzer v33 · 6d ago
skills & prompt files 2
- skill agentgraph_server-0.8.0/.agents/skills/agentgraph/SKILL.md
- skill agentgraph_server-0.8.0/.agents/skills/slack-auth/SKILL.md
danger signals6
- over-broad OAuth scope https://mail.google.com/ agentgraph_server-0.8.0/agentgraph/demo.py :132
"web_url": "https://mail.google.com/mail/u/0/#all/atlas-maya-thread", - over-broad OAuth scope https://mail.google.com/ agentgraph_server-0.8.0/tests/test_connectors.py :199
"https://mail.google.com/mail/u/0/#inbox/FMfcgzQhVrDqdZqlbQxsFHmWxPVSqDnD", - over-broad OAuth scope https://mail.google.com/ agentgraph_server-0.8.0/tests/test_expiration.py :389
"gmail", "thread-1", "observation-1", "https://mail.google.com/thread-1", 3000 - over-broad OAuth scope https://mail.google.com/ agentgraph_server-0.8.0/tests/test_feed_connectors.py :341
"https://mail.google.com/thread-1", - over-broad OAuth scope https://mail.google.com/ agentgraph_server-0.8.0/tests/test_observation.py :219
"https://mail.google.com/mail/u/0/#inbox/opaque", - over-broad OAuth scope https://mail.google.com/ agentgraph_server-0.8.0/tests/test_router.py :34
"https://mail.google.com/mail/u/0/#inbox/18f0c1d2e3a4b5c6",
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 93
filesystem 33
- fs agentgraph_server-0.8.0/agentgraph/auth/credentials.py :12
from pathlib import Path - fs agentgraph_server-0.8.0/agentgraph/backends/sqlite/backend.py :15
from pathlib import Path - fs agentgraph_server-0.8.0/agentgraph/config.py :6
from pathlib import Path - fs (weak) agentgraph_server-0.8.0/agentgraph/demo.py :8
from pathlib import Path - fs agentgraph_server-0.8.0/agentgraph/logging.py :8
from pathlib import Path - fs agentgraph_server-0.8.0/agentgraph/query_client.py :16
from pathlib import Path - fs agentgraph_server-0.8.0/agentgraph/server/app.py :11
from pathlib import Path - fs agentgraph_server-0.8.0/agentgraph/server/uds.py :12
from pathlib import Path - fs agentgraph_server-0.8.0/agentgraph/skills.py :5
import shutil - fs (weak) agentgraph_server-0.8.0/tests/test_auth.py :6
from pathlib import Path - fs (weak) agentgraph_server-0.8.0/tests/test_auth_status_methods.py :5
from pathlib import Path - fs (weak) agentgraph_server-0.8.0/tests/test_benchmarks.py :5
from pathlib import Path
show 21 more
- fs (weak) agentgraph_server-0.8.0/tests/test_browse.py :6
from pathlib import Path - fs (weak) agentgraph_server-0.8.0/tests/test_cli.py :11
from pathlib import Path - fs (weak) agentgraph_server-0.8.0/tests/test_config.py :6
from pathlib import Path - fs (weak) agentgraph_server-0.8.0/tests/test_connectors.py :7
from pathlib import Path - fs (weak) agentgraph_server-0.8.0/tests/test_docs_build.py :4
from pathlib import Path - fs (weak) agentgraph_server-0.8.0/tests/test_embeddings.py :9
from pathlib import Path - fs (weak) agentgraph_server-0.8.0/tests/test_expiration.py :10
from pathlib import Path - fs (weak) agentgraph_server-0.8.0/tests/test_graph_operations.py :8
from pathlib import Path - fs (weak) agentgraph_server-0.8.0/tests/test_launch_demo.py :5
from pathlib import Path - fs (weak) agentgraph_server-0.8.0/tests/test_logging.py :5
from pathlib import Path - fs (weak) agentgraph_server-0.8.0/tests/test_match_patterns.py :6
from pathlib import Path - fs (weak) agentgraph_server-0.8.0/tests/test_query.py :9
from pathlib import Path - fs (weak) agentgraph_server-0.8.0/tests/test_query_client.py :7
from pathlib import Path - fs (weak) agentgraph_server-0.8.0/tests/test_release_metadata.py :4
from pathlib import Path - fs (weak) agentgraph_server-0.8.0/tests/test_rss_connector.py :11
from pathlib import Path - fs (weak) agentgraph_server-0.8.0/tests/test_schema.py :8
from pathlib import Path - fs (weak) agentgraph_server-0.8.0/tests/test_server_uds.py :9
from pathlib import Path - fs (weak) agentgraph_server-0.8.0/tests/test_slack_auth_artifacts.py :7
from pathlib import Path - fs (weak) agentgraph_server-0.8.0/tests/test_slack_oauth.py :10
from pathlib import Path - fs (weak) agentgraph_server-0.8.0/tests/test_viewer_layout_contract.py :10
from pathlib import Path - fs (weak) agentgraph_server-0.8.0/tests/test_web_connector.py :7
from pathlib import Path
shell / exec 1
- shell (weak) agentgraph_server-0.8.0/tests/test_server_imports.py :5
import subprocess
network 20
- net agentgraph_server-0.8.0/agentgraph/cli.py :7
import urllib.error - net agentgraph_server-0.8.0/agentgraph/cli_sync.py :8
import httpx - net agentgraph_server-0.8.0/agentgraph/connectors/match_patterns.py :12
from urllib.parse import urlsplit - net agentgraph_server-0.8.0/agentgraph/graph/bookmark.py :5
from urllib.parse import urlparse - net agentgraph_server-0.8.0/agentgraph/graph/query.py :10
from urllib.parse import urlparse - net agentgraph_server-0.8.0/agentgraph/query_client.py :20
import httpx - net agentgraph_server-0.8.0/agentgraph/server/uds.py :11
import socket - net (weak) agentgraph_server-0.8.0/tests/test_browse.py :1010
import httpx - net (weak) agentgraph_server-0.8.0/tests/test_cli.py :280
patch("httpx.get", side_effect=AssertionError("unexpected HTTP GET")), - net (weak) agentgraph_server-0.8.0/tests/test_connectors.py :534
patch("agentgraph_connector_slack.httpx.AsyncClient", return_value=_FakeSlackAsyncClientContext()), - net (weak) agentgraph_server-0.8.0/tests/test_discord_attachments.py :122
patch("httpx.AsyncClient") as mock_client_cls: - net (weak) agentgraph_server-0.8.0/tests/test_docs_build.py :5
from urllib.parse import unquote, urlsplit
show 8 more
- net (weak) agentgraph_server-0.8.0/tests/test_mcp_transport.py :16
import httpx - net (weak) agentgraph_server-0.8.0/tests/test_observed_since.py :11
import httpx - net (weak) agentgraph_server-0.8.0/tests/test_query_client.py :12
import httpx - net (weak) agentgraph_server-0.8.0/tests/test_query_parity.py :8
The HTTP client runs against the FastAPI app through `httpx.ASGITransport`, so no - net (weak) agentgraph_server-0.8.0/tests/test_server_uds.py :5
import socket - net (weak) agentgraph_server-0.8.0/tests/test_slack_oauth.py :13
from urllib.parse import parse_qs, urlparse - net (weak) agentgraph_server-0.8.0/tests/test_viewer_layout_contract.py :13
from urllib.parse import parse_qs, urlsplit - net (weak) agentgraph_server-0.8.0/tests/test_web_connector.py :12
import httpx
database 6
- db agentgraph_server-0.8.0/agentgraph/backends/sqlite/backend.py :12
import sqlite3 - db (weak) agentgraph_server-0.8.0/agentgraph/demo.py :5
import sqlite3 - db (weak) agentgraph_server-0.8.0/tests/test_expiration.py :7
import sqlite3 - db (weak) agentgraph_server-0.8.0/tests/test_graph_operations.py :7
import sqlite3 - db (weak) agentgraph_server-0.8.0/tests/test_launch_demo.py :4
import sqlite3 - db (weak) agentgraph_server-0.8.0/tests/test_schema.py :6
import sqlite3
declared dependencies 20
- mcp@>=1.26.0
- aiosqlite@>=0.20.0
- agentgraph-connector-web@>=0.6.0,<0.7
- apscheduler@>=3.11.2
- click@<8.4
- fastapi@>=0.135.2
- fastembed@>=0.8.0
- httpx@>=0.28.1
- numpy@>=2.4.6
- pydantic@>=2.12.5
- pydantic-settings@>=2.13.1
- questionary@>=2.1.1
show 8 more
- rich@>=14.3.3
- sqlite-vec@>=0.1.9
- typer@>=0.24.1
- uvicorn@>=0.42.0
- agentgraph-connector-google@>=0.6.0,<0.7
- agentgraph-connector-slack@>=0.6.0,<0.7
- agentgraph-connector-discord@>=0.6.0,<0.7
- agentgraph-connector-rss@>=0.6.0,<0.7