Skip to main content

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 52 tools over stdio. Your assistant will discover them automatically and invoke them when it needs structural facts about your code.

52 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
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
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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dke_forge-0.18.0.tar.gz (51.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dke_forge-0.18.0-py3-none-any.whl (33.0 kB view details)

Uploaded Python 3

File details

Details for the file dke_forge-0.18.0.tar.gz.

File metadata

  • Download URL: dke_forge-0.18.0.tar.gz
  • Upload date:
  • Size: 51.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.2

File hashes

Hashes for dke_forge-0.18.0.tar.gz
Algorithm Hash digest
SHA256 d0db68e41089686318407779f66d6993c5fea50c8afeb10dc0c82a755cccbe6d
MD5 35cbde7f8f9971e647d2ad50db2c32c7
BLAKE2b-256 e16206c4e46df4fc286c10148e744e09f5be18d01e1b86480029a13a90649bbb

See more details on using hashes here.

File details

Details for the file dke_forge-0.18.0-py3-none-any.whl.

File metadata

  • Download URL: dke_forge-0.18.0-py3-none-any.whl
  • Upload date:
  • Size: 33.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.2

File hashes

Hashes for dke_forge-0.18.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0c657530b141db8c36943770ad71a27955c9d464473abb1aeee6a4e0ce219d2a
MD5 5d11e57a18b0acb75f9b91c5d94e0028
BLAKE2b-256 1620388e89a4ed191ac8988c9e2a82aca2f0fc3daace033086ab1895d602e127

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page