MyKGBLOCK
MyKG Knowledge Graph Engine: Turn raw files into knowledge graphs with induced ontology
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
[](https://www.python.org/downloads/) [](LICENSE) [](https://github.com/SenolIsci/mykg/actions/workflows/ci.yml) [](https://codecov.io/gh/SenolIsci/mykg) [](#configuration) [](docs/agent-mode.md) [](https://pypi.org/project/mykg/) [](https://pepy.tech/project/mykg) [](https://github.com/SenolIsci/mykg/stargazers) [](https://github.com/SenolIsci/mykg/issues) [](https://github.com/SenolIsci/mykg) [](https://medium.com/@senol.isci) [](https://www.linkedin.com/in/senolisci/)
myKG automatically generates a confidence-scored knowledge graph from a set of mixed documents — Markdown, plain text, PDF, Word, PowerPoint, Excel, HTML, and images — grounded in an induced RDFS/OWL ontology.
cadf2dc96478OBSERVED · 2026-10-07Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.
claude mcp add mykg --env ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} --env ANTHROPIC_AUTH_TOKEN=${ANTHROPIC_AUTH_TOKEN} --env GEMINI_API_KEY=${GEMINI_API_KEY} --env GOOGLE_API_KEY=${GOOGLE_API_KEY} -- uvx mykg{
"mcpServers": {
"mykg": {
"command": "uvx",
"args": [
"mykg"
],
"env": {
"ANTHROPIC_API_KEY": "${ANTHROPIC_API_KEY}",
"ANTHROPIC_AUTH_TOKEN": "${ANTHROPIC_AUTH_TOKEN}",
"GEMINI_API_KEY": "${GEMINI_API_KEY}",
"GOOGLE_API_KEY": "${GOOGLE_API_KEY}"
}
}
}
}Exposed tools (15)
15 read · 0 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
mykg_find_path | read | Find the shortest path between two nodes. |
mykg_get_neighbors | read | Get direct neighbors of a node with edge details. |
mykg_get_node | read | Get full details for a node by its stable ID. |
mykg_get_schema | read | Get the full schema: concept types with hierarchy and relationship properties. |
mykg_get_source | read | Get bounded source-text excerpts for a node, an edge, or both. |
mykg_get_stats | read | Get summary statistics: node/edge counts, type distribution, density, components, avg degree. |
mykg_hub_nodes | read | Return the most connected nodes by degree — the core entities of the graph. |
mykg_list_node_types | read | List all concept types with instance counts, sorted descending. |
mykg_list_sessions | read | List all available mykg sessions with their status and size. |
mykg_orphan_nodes | read | Find all orphan nodes — entities with zero connections (no edges). |
mykg_query_graph | read | Search the knowledge graph using BFS or DFS traversal from seed nodes. |
mykg_query_subgraph | read | Extract a filtered subgraph by node IDs, types, and/or minimum confidence. |
mykg_read_note | read | Read the LLM wiki note for an entity from the Obsidian vault. |
mykg_reload | read | Reload the in-memory knowledge graph from disk. |
mykg_search_nodes | read | Search for entities in the knowledge graph by name, alias, or attribute value. |
Trust audit
BLOCKgrade D · trust 69/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | WARN |
| L1 | Static analysis of the code | PASS |
| L2 | Instruction surface (what it tells the agent) | FAIL |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (5 observation(s))
- Network
- none-observed
- Shell
- none-observed
- Dependencies
- pinned
- Secrets in source
- none-found
Findings (19)
description: Run mykg knowledge-graph commands inside Claude Code from one slash command `/mykg`. The user describes intent in natural language (extract, append, sync, resume, approve, walkthrough, pa
projects.xlsx
.DS_Store
.DS_Store
digest = hashlib.sha1(parsed.query.encode()).hexdigest()[:8]
digest = hashlib.sha1(parsed.path.encode()).hexdigest()[:8]
digest = hashlib.sha1(parsed.query.encode()).hexdigest()[:8]
digest = hashlib.sha1(parsed.query.encode()).hexdigest()[:8]
digest = hashlib.sha1(parsed.path.encode()).hexdigest()[:8]
p = local_path_for_url("https://evil.com/a/../../b", "text/html")row = mod.save_page(tmp_path, "https://evil.com/../../etc/passwd", "text/html", b"x")
f"http://127.0.0.1:{port}/",| OpenRouter | Access many models via a single API key |
- Can a crafted Markdown file break out of the user content section of the prompt and inject system-level instructions? For example, a file that contains `\n\nSYSTEM: Ignore all previous instructions
docs/diagrams/architecture-sketch.png
docs/diagrams/mykg_batching_and_chunking.png
docs/mykg_logo_panel.png
docs/mykg_logo_panel_old.png
pages/assets/architecture-sketch.png
Gates applied: critical_finding, no_behavioural_pass, undeclared_transfer.
cadf2dc96478full audit observations/trust-audit/mcp-server/senolisci__mykg.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-07 | cadf2dc96478 | BLOCK | D | 69 | first audit |
Questions
What is the MyKG MCP server?
MyKG Knowledge Graph Engine: Turn raw files into knowledge graphs with induced ontology
What tools does MyKG expose?
15 in total: 15 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is MyKG safe to connect to an agent?
No — not without reading the findings first. The audit graded it D (69/100) and found 1 critical or high issue in the source. Each one is listed on this page with the file and line it is on.
What credentials does MyKG need?
It reads ANTHROPIC_API_KEY, ANTHROPIC_AUTH_TOKEN, GEMINI_API_KEY, GOOGLE_API_KEY, OPENAI_API_KEY, OPENROUTER_API_KEY and OPENROUTER_AUTH_TOKEN from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How does MyKG run?
It speaks stdio and streamable-http, so it runs as a local process your client starts. It is published on PyPI as mykg.
How current is this page?
The grade is for one exact copy of the source (cadf2dc96478), read on 2026-10-07. The repository is watched and re-audited when it changes.