CLI and MCP server for the DKE-Forge deterministic code intelligence engine
Project description
dke-forge
Python CLI and MCP server for DKE-Forge — a deterministic, graph-native code intelligence engine.
This package is a thin HTTP client over the Forge API. The reasoning engine
itself (graph construction, pattern learning, provenance tracking, impact
analysis) runs server-side at dke-forge.com. Your code is ingested into a
private graph; every query returns grounded, provenance-tagged answers —
no LLM guessing.
Install
pip install dke-forge # CLI only
pip install 'dke-forge[mcp]' # CLI + MCP stdio server
Configure
Sign up at dke-forge.com to get an API key, then:
dke-forge config set api_key fga_your_key
Or set environment variables (overrides the config file):
export FORGE_URL=https://dke-forge.com
export FORGE_API_KEY=fga_your_key
The config file lives at ~/.config/dke-forge/config.json (chmod 600).
CLI
dke-forge health # server status
dke-forge graph stats # node/edge counts
dke-forge graph function main # look up a function
dke-forge graph callers authenticate # who calls authenticate?
dke-forge graph impact login # what breaks if login changes?
dke-forge scan /path/to/repo # ingest a repo (polls to completion)
dke-forge scan /path/to/repo --no-wait # returns scan_id; poll separately
dke-forge scan-status <scan_id> # check async scan progress
Run dke-forge --help for the full command tree.
MCP — Claude Code, VS Code, Cursor, any MCP client
Install with the [mcp] extra, then add this to your MCP client config.
Claude Code (.mcp.json at project root, or ~/.mcp.json for global):
{
"mcpServers": {
"forge": {
"command": "dke-forge-mcp",
"env": {
"FORGE_URL": "https://dke-forge.com",
"FORGE_API_KEY": "fga_your_key"
}
}
}
}
Cursor / VS Code (via settings.json):
{
"mcp.servers": {
"forge": {
"command": "dke-forge-mcp",
"env": {
"FORGE_URL": "https://dke-forge.com",
"FORGE_API_KEY": "fga_your_key"
}
}
}
}
The server advertises 63 tools over stdio. Your assistant will discover them automatically and invoke them when it needs structural facts about your code.
63 Tools, 13 Categories
| Category | Tools |
|---|---|
| Foundation | forge_graph_stats |
| Graphs | forge_list_graphs, forge_create_graph, forge_get_graph, forge_rename_graph, forge_delete_graph, forge_promote_default_graph |
| Navigation | forge_query_function, forge_callers_of, forge_callees_of, forge_depends_on, forge_impact_analysis, forge_callgraph_reachable, forge_find_implementers |
| Architecture | forge_dead_code, forge_subgraph, forge_circular_deps, forge_god_classes, forge_architecture_map, forge_api_surface, forge_abstractions, forge_module_topology |
| Change | forge_refactor_preview, forge_breaking_change, forge_deprecation_path, forge_risky_change, forge_commit_impact, forge_review |
| Rules | forge_rules, forge_check_rules, forge_declare_rule, forge_amend_rule, forge_retire_rule |
| Provenance | forge_contradictions, forge_last_modified, forge_provenance, forge_reasoning_trace |
| Patterns | forge_patterns, forge_pattern_catalog, forge_pattern_detail, forge_learn_patterns |
| Generation-prep | forge_envelope |
| Ingestion | forge_declare |
| Reasoning | forge_reason_chain, forge_audit_changes, forge_contradictions_hypothetical, forge_reach_from, forge_reach_cone, forge_use_def, forge_reaching_defs, forge_live_vars, forge_taint, forge_effects, forge_classify_effects, forge_effects_classification, forge_type_flow, forge_refine, forge_contract_check, forge_effect_behavioral |
| Meta | forge_health, forge_auth_verify |
| Invitations | forge_invitation_resend, forge_invitation_preview |
Ingestion covers 8 languages: C++, C, Python, TypeScript, Go, Rust, Java, JavaScript. Cross-language relationships resolve into a single graph by construction — a Python call into a C++ library surfaces as a first-class edge.
Full tool reference: dke-forge.com/mcp.html
What Makes Forge Different
Every MCP tool answer is provenance-tagged — you can ask where a claim came from. Queries are deterministic — same graph, same answer. Contradictions in the graph are surfaced, not hidden. Pattern discovery has a lifecycle (proposed → supported → confirmed) with confidence propagation. This is the set of things a graph-native reasoning engine can do that LLM-plus-grep fundamentally cannot.
Requirements
- Python 3.8+
- A DKE-Forge account with an API key (sign up)
License
MIT. See LICENSE.
Links
- Homepage: dke-forge.com
- API Docs: dke-forge.com/docs.html
- MCP Guide: dke-forge.com/mcp.html
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dke_forge-0.25.0.tar.gz.
File metadata
- Download URL: dke_forge-0.25.0.tar.gz
- Upload date:
- Size: 66.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
56b8e54ba00c86579763dbccc7f7da50cda8a5cf710cc91af81a45d58030d3af
|
|
| MD5 |
0492e639aad18d26ddac58a67b821c65
|
|
| BLAKE2b-256 |
3f8faf9278a377d7279528e27bfe187858eda4426a8d38dc55d7257ffff0f8b4
|
File details
Details for the file dke_forge-0.25.0-py3-none-any.whl.
File metadata
- Download URL: dke_forge-0.25.0-py3-none-any.whl
- Upload date:
- Size: 42.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3b393dcf5572c1661440420ed0a7e3b5bba99327e8658e099418cbbd6502f60f
|
|
| MD5 |
277da12b08441acd4d971f6b2a5f6612
|
|
| BLAKE2b-256 |
c156756e710fd83932bd8a5c3f43c1430f28a73889120e285ad0b7a44b611769
|