Local MCP demo with FakeData, Jama TTE fixtures, and Codex CLI end-to-end tests.
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.
resources, prompts, and toolsnpm install
npm run db:seed
npm run demo:all
npm run schedule:all
npm run jama:all
npm run e2e:codexnpm run db:seednpm run servernpm run demo:successnpm run demo:blockednpm run demo:allnpm run schedule:successnpm run schedule:blockednpm run schedule:allnpm run jama:syncnpm run jama:programnpm run jama:gapsnpm run jama:allnpm run e2e:codexsrc/server.jssrc/seed-db.jssrc/demo-client.jssrc/ide-scheduler.jsskill/jama-tte-sync-operator.mddata/jama-tte-scenario.jsontests/codex-cli-e2e.prompt.mdcodex exec during the end-to-end test.tests/run-codex-cli-e2e.mjscodex exec, and verifies tool calls plus generated artifacts.tasks/artifacts/data/fakedata-open-capability.dbIf 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"
}
}
}Use the following sequence during a live demo:
catalog://datasets and runtime://profilesrun_aggregate_querygenerate_signed_reportrequest_raw_rows and show the firewall denialIf you want a single command that looks more like an IDE-driven orchestration flow:
npm run schedule:allThis reads task JSON from tasks/, spawns the MCP server, runs the task through the local scheduler, and writes:
artifacts/task-*.timeline.logartifacts/task-*.summary.jsonThe 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:allThis local version scales the article's compact example into a medium-sized demo dataset:
This scenario adds:
catalog://jama-tte/casecatalog://jama-tte/schemacatalog://jama-tte/sample-batchskill://jama-tte-sync-operatorsync_automated_test_resultstrace_requirement_to_testgenerate_tte_program_reportreport_tte_gapsThis test exercises the full chain from codex exec to the local MCP server and back:
npm run e2e:codexThe runner is intentionally self-contained:
jama_demo stdio server.sync_automated_test_resultstrace_requirement_to_testgenerate_tte_program_reportreport_tte_gapsArtifacts written by the test:
artifacts/codex-cli-e2e.events.jsonlartifacts/codex-cli-e2e.last-message.jsonartifacts/codex-cli-e2e.assertions.jsonartifacts/codex-cli-e2e-program.mdTeamZaobi/blackfactory-ide-demo
April 13, 2026
April 13, 2026
JavaScript