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

59 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, forge_taint, forge_effects
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.22.0.tar.gz (58.6 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.22.0-py3-none-any.whl (37.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: dke_forge-0.22.0.tar.gz
  • Upload date:
  • Size: 58.6 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.22.0.tar.gz
Algorithm Hash digest
SHA256 50d3b42d3edc0eb423c103943acff9190a94d2f5c176bbd7e14ae9433a712ec9
MD5 4f3d7e95137256ebb0f2b15e3f0a79bb
BLAKE2b-256 5032f1a1a7d350e390ca6fd1be40e1d9e0b2f78320c09df1deb5fa026f245ec2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dke_forge-0.22.0-py3-none-any.whl
  • Upload date:
  • Size: 37.6 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.22.0-py3-none-any.whl
Algorithm Hash digest
SHA256 eeef54793612a786eed0c4dc9c288e30964f5d0d09754808d7299a1867054960
MD5 23881ae1f043ae7cef2efef48e5bf2b5
BLAKE2b-256 2905517896ae99819ea6068c5c454c49ee8c78c166cfb223dc55d65f210b3746

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