Newcontext-mode—Save 98% of your AI coding agent's context windowLearn more
MCP Directory
ServersClientsBlog

context-mode

Save 98% of your AI coding agent's context window. Works with Claude Code, Cursor, Copilot, Codex, and more.

Try context-mode
MCP Directory

Model Context Protocol Directory

MKSF LTD
Suite 8805 5 Brayford Square
London, E1 0SG

MCP Directory

  • About
  • Blog
  • Documentation
  • Contact

Menu

  • Servers
  • Clients

© 2026 model-context-protocol.com

The Model Context Protocol (MCP) is an open standard for AI model communication.
Powered by Mert KoseogluSoftware Forge
  1. Home
  2. Servers
  3. blackfactory-ide-demo

blackfactory-ide-demo

GitHub

Local MCP demo with FakeData, Jama TTE fixtures, and Codex CLI end-to-end tests.

0
0

IDE MCP Demo

This demo stands up a local MCP service plus a FakeData SQLite database to simulate a governed "capability-open" data service.

It now also includes a Jama-inspired TTE scenario, inferred here as a requirements-to-test execution traceability workflow based on Jama Software's automated testing example.

What it shows

  • A local MCP server exposing resources, prompts, and tools
  • A synthetic healthcare operations database backed by SQLite
  • Aggregate-only access through governed tools
  • A result firewall that blocks raw row export
  • Signed report and audit receipt generation as local artifacts

Quick start

npm install
npm run db:seed
npm run demo:all
npm run schedule:all
npm run jama:all
npm run e2e:codex

Commands

  • npm run db:seed
    Rebuild the FakeData SQLite database.
  • npm run server
    Start the MCP server over stdio.
  • npm run demo:success
    Run the happy-path local client demo.
  • npm run demo:blocked
    Run the blocked raw-export demo.
  • npm run demo:all
    Run both demos in sequence.
  • npm run schedule:success
    Run the IDE-style scheduler against a compliant task file.
  • npm run schedule:blocked
    Run the IDE-style scheduler against a blocked raw-export task file.
  • npm run schedule:all
    Run both scheduler task files and persist timeline/summary artifacts.
  • npm run jama:sync
    Run the Jama TTE sync task based on the official automated testing example.
  • npm run jama:program
    Generate the Jama TTE program-level readiness report.
  • npm run jama:gaps
    Run the Jama TTE gap audit task.
  • npm run jama:all
    Run both Jama TTE task files in sequence.
  • npm run e2e:codex
    Run a real Codex CLI end-to-end test against the local MCP server and assert the returned summary.

Files

  • src/server.js
    MCP service entrypoint.
  • src/seed-db.js
    Synthetic database builder.
  • src/demo-client.js
    Local IDE demo client that spawns the MCP server and exercises it.
  • src/ide-scheduler.js
    Scheduler entrypoint that reads task JSON and orchestrates the MCP tools.
  • skill/jama-tte-sync-operator.md
    Simulated local skill for the Jama TTE workflow.
  • data/jama-tte-scenario.json
    The Jama article-derived case data, schema, seed records, and automated-result fixture.
  • tests/codex-cli-e2e.prompt.md
    Fixed prompt used by codex exec during the end-to-end test.
  • tests/run-codex-cli-e2e.mjs
    Runner that seeds the database, launches codex exec, and verifies tool calls plus generated artifacts.
  • tasks/
    Sample task files for compliant and blocked flows.
  • artifacts/
    Generated markdown report, audit receipt, scheduler summaries, and timelines.
  • data/fakedata-open-capability.db
    SQLite database file.

IDE / MCP config example

If your IDE accepts MCP stdio server definitions, point it at this server:

{
  "mcpServers": {
    "blackfactory-fake-open-data": {
      "command": "node",
      "args": ["/Users/jixiaokang/Agents/BlackFactory/ide-demo/src/server.js"],
      "cwd": "/Users/jixiaokang/Agents/BlackFactory/ide-demo"
    }
  }
}

Demo narrative

Use the following sequence during a live demo:

  1. Read catalog://datasets and runtime://profiles
  2. Call run_aggregate_query
  3. Call generate_signed_report
  4. Call request_raw_rows and show the firewall denial

IDE scheduler demo

If you want a single command that looks more like an IDE-driven orchestration flow:

npm run schedule:all

This reads task JSON from tasks/, spawns the MCP server, runs the task through the local scheduler, and writes:

  • artifacts/task-*.timeline.log
  • artifacts/task-*.summary.json

Jama TTE scenario

The Jama scenario is based on the official Jama Software article where a Python script writes automated test results back into Jama Connect and links them to stories and requirements.

npm run jama:all

This local version scales the article's compact example into a medium-sized demo dataset:

  • 12 requirements
  • 20 stories
  • 9 manual tests
  • 24 automated test results
  • 5 intentionally failing automated tests for gap and readiness demos

This scenario adds:

  • catalog://jama-tte/case
  • catalog://jama-tte/schema
  • catalog://jama-tte/sample-batch
  • skill://jama-tte-sync-operator
  • sync_automated_test_results
  • trace_requirement_to_test
  • generate_tte_program_report
  • report_tte_gaps

Codex CLI end-to-end test

This test exercises the full chain from codex exec to the local MCP server and back:

npm run e2e:codex

The runner is intentionally self-contained:

  • It reseeds the SQLite database before the run.
  • It overrides global Codex MCP config with a single local jama_demo stdio server.
  • It forces the prompt down a fixed four-tool path:
    • sync_automated_test_results
    • trace_requirement_to_test
    • generate_tte_program_report
    • report_tte_gaps
  • It fails if Codex falls back to shell commands.
  • It fails if the final JSON summary or generated report drift from the expected values.

Artifacts written by the test:

  • artifacts/codex-cli-e2e.events.jsonl
  • artifacts/codex-cli-e2e.last-message.json
  • artifacts/codex-cli-e2e.assertions.json
  • artifacts/codex-cli-e2e-program.md

Repository

TE
TeamZaobi

TeamZaobi/blackfactory-ide-demo

Created

April 13, 2026

Updated

April 13, 2026

Language

JavaScript

Category

Developer Tools