ACG Mcp Server

Standalone MCP server for the Audited Context Generation (ACG) Protocol — verifiable fact-checking and grounded RAG via MongoDB.

Documentation

ACG MCP Server

License: MIT

Standalone MCP server for the Audited Context Generation (ACG) Protocol — verifiable fact-checking and grounded RAG via MongoDB.

ACG provides a dual-layer standard for veracity assurance:

  • UGVP (Layer 1): Atomic fact grounding with Claim Markers and Source Hash Identity (SHI)
  • RSVP (Layer 2): Logical synthesis verification with Relationship Markers

Features

  • Index URLs → Extract text, chunk by sentences, generate embeddings, store in MongoDB
  • Search Sources → Semantic (vector) + keyword search across indexed content
  • Check Indexed → Confidence-scored lookup to avoid unnecessary web_fetch calls
  • Generate Grounded Text → Create verifiable output with inline Claim Markers
  • Verify Claims → Re-fetch sources, fuzzy-match claims against source text
  • Build VAR → Generate machine-readable Veracity Audit Registry (SSR + RAR)
  • Crawl & Index → BFS URL discovery + automatic ACG indexing pipeline
  • Reset Database → Drop all ACG collections (with confirmation guard)

Requirements

  • Python 3.11+
  • MongoDB instance (local or Atlas)
    • Atlas Vector Search is optional — falls back to keyword search if no embedding model

Installation

There are two ways to install — choose based on your use case:

Option A: Local development (editable install)

For local development where you'll edit the code, install in editable mode:

# Clone the repo
git clone https://github.com/Kos-M/acg_mcp.git
cd acg_mcp

# Install globally in editable mode (recommended for agents/CLI usage)
pip install -e .

# Or use a venv:
# python -m venv venv && source venv/bin/activate && pip install -e .

This makes the acg-mcp command available system-wide (or venv-wide), so you can run it from any directory.

Option B: Using the source directly

git clone https://github.com/Kos-M/acg_mcp.git
cd acg_mcp
pip install -r requirements.txt
# Then run with: python -m src.server

Configuration

Copy .env.sample to .env and configure:

# MongoDB connection string (required)
MONGO_URI=mongodb://localhost:27017

# MongoDB database name (optional, default: acg_protocol)
MONGO_DB=acg_protocol

# Embedding model cache directory (optional)
EMBEDDING_CACHE_DIR=

For MongoDB Atlas:

MONGO_URI=mongodb+srv://<user>:<password>@<cluster>.mongodb.net/acg_protocol?retryWrites=true&w=majority

Usage

Run the MCP server (stdio transport)

After editable install (recommended for global use):

# Works from ANY directory — no venv activation needed if installed system-wide
acg-mcp

Without installing the CLI (source directory only):

cd /path/to/acg_mcp
python -m src.server

Connect from an MCP client

The server communicates over stdio. These examples work for both Claude Desktop and Opencode (same mcpServers JSON format).

Global install (recommended for agents & tools)

After pip install -e ., the acg-mcp command is available globally. Use it directly in your MCP config — no path needed:

{
  "mcpServers": {
    "acg-mcp": {
      "command": "acg-mcp",
      "env": {
        "MONGO_URI": "mongodb+srv://..."
      }
    }
  }
}

Running from source directory

If you haven't installed the CLI, use the full path:

{
  "mcpServers": {
    "acg-mcp": {
      "command": "python",
      "args": ["-m", "src.server"],
      "env": {
        "MONGO_URI": "mongodb+srv://..."
      }
    }
  }
}

Important: When using python -m src.server, run the MCP client from the project root (/path/to/acg_mcp) or set cwd in the MCP config.

Config locations

ToolConfig FileScope
Claude Desktopclaude_desktop_config.jsonUser-wide
Opencode~/.opencode/mcp.jsonUser-wide (global)
Opencode.opencode/mcp.jsonPer-project (local)

Usage from other tools & agents

Once installed globally with pip install -e ., any tool or agent on the machine can use acg-mcp by referencing it in their MCP configuration.

Example: WEBFORGE agent setup

Add to your agent's MCP config (e.g., ~/.opencode/mcp.json):

{
  "mcpServers": {
    "acg-mcp": {
      "command": "acg-mcp",
      "env": {
        "MONGO_URI": "mongodb://localhost:27017"
      }
    }
  }
}

The agent can then call ACG tools directly:

  • acg_check_indexed() — Check if answers exist in indexed sources
  • acg_index_url() — Index new URLs
  • acg_verify_claims() — Verify grounded text claims
  • acg_search_sources() — Search indexed knowledge base

Passing environment variables

Pass MONGO_URI and other config via the env field in the MCP config. The server also loads .env from the project directory if present.

Available Tools

ToolDescription
acg_index_urlIndex a URL for ACG — fetches, chunks, embeds, stores
acg_check_indexedCheck if a query has results in indexed sources
acg_search_sourcesSearch indexed sources by keyword
acg_list_sourcesList all indexed sources
acg_count_sourcesCount total indexed sources
acg_generate_grounded_textCreate text with Claim Markers (UGVP)
acg_verify_claimsVerify claims against their sources (fuzzy matching)
acg_build_varBuild Veracity Audit Registry (SSR + RAR)
acg_crawl_and_indexCrawl + index multiple URLs (background support)
acg_crawl_statusCheck background crawl task status
acg_crawl_list_tasksList all background crawl tasks
acg_reset_database⚠️ Delete all indexed data (requires confirm=true)

Database Collections

The server uses a standard MongoDB collection structure:

CollectionPurpose
sourcesSource metadata (url, shi_prefix, url_hash, total_chunks)
dataChunks with embeddings (source_id, text, sentences, embedding)
claimsVerified claims (claim_id, shi_prefix, claim_text, verified)
relationshipsRSVP relationship records (rel_id, rel_type, claim_ids)
var_entriesVeracity Audit Registry entries

Indexes are auto-created on first connection.

License

MIT