Skip to content

About

Repository for MCP servers

Resources

Code of conduct

Security policy

Stars

2 stars

Watchers

1 watching

Forks

Repository files navigation

Eclipse S-CORE APM Monorepo

Local-only agent packages for code understanding, working memory...

What You Get

Ready-to-use packages for your AI agent:

Package What It Does
graphify-codegraph Query code structure (what classes/functions exist, how they're connected)
context-discipline Working memory + outcome recording (agent tracks decisions and learns from past work)
sdlc-harness Traceable SDLC lifecycle, task evidence, and loopback logging

Local only: Everything runs in your project. Observations stored in .score-local/ (not committed).

Quick Start

1. Install APM CLI

# macOS/Linux/Windows: https://github.com/microsoft/apm#installation
brew install microsoft/apm/apm  # or: pip install apm-cli

2. Install Packages

Option A: From the marketplace

The marketplace manifest is generated from apm.yml during packaging and committed at .claude-plugin/marketplace.json. From this repository, run:

apm pack

Then, from your project root:

apm marketplace add https://github.com/eclipse-score/mcp-servers
apm install context-discipline@eclipse-score-apm-marketplace --target copilot --trust-transitive-mcp
apm compile -t copilot

Installing context-discipline also installs its transitive dependencies: graphify-codegraph and apm-setup.

Option B: From a local path (development)

apm install /path/to/mcp-servers/packages/context-discipline --target copilot --trust-transitive-mcp
apm compile -t copilot

Installing context-discipline also installs its transitive dependencies: graphify-codegraph and apm-setup.

Option C: From a cloned checkout

git clone https://github.com/eclipse-score/mcp-servers
cd mcp-servers
apm install ./packages/context-discipline --target copilot --trust-transitive-mcp
apm compile -t copilot

Installing context-discipline also installs its transitive dependencies: graphify-codegraph and apm-setup.

3. Initialize Repository Setup Through MCP

After registering the server, call these tools for the target repository:

verify_setup(repo_path)
setup_graphify(repo_path)
setup_context_discipline(repo_path)

APM installation registers the declared MCP server, but does not execute repository setup automatically. Repository setup is explicit and performed by the apm-setup MCP server.

4. Agent Uses It

Once configured, your agent can call MCP tools:

# Working memory
wm.initialize_session(goal="...", subgoals=[...])
wm.query_graph("Show auth functions")
wm.record_decision(decision="...", reason=[...])
wm.record_outcome(task="...", verdict="pass", coverage=0.85)

Results: .score-local/observations.jsonl (local only, not committed).


Documentation

  • For users: You're reading it. More examples in each package's README.md.
  • For agents: See AGENTS.md to create new packages.
  • For contributors: See CONTRIBUTION.md.

Packages at a Glance

graphify-codegraph

Wraps Graphify Labs graphify — deterministic AST parsing, no LLMs.

Generates: graphify-out/graph.json (code structure), graph.html (interactive explorer)

One-time setup: setup_graphify(repo_path) through the apm-setup MCP
Runtime: Agents query via MCP (no re-parsing)

See packages/graphify-codegraph/README.md for details.

context-discipline

Working memory system + local learning.

MCP tools:

  • initialize_session() — Start a session with goal + subgoals + assumptions
  • query_graph() — Ask about code structure
  • record_decision() — Track reasoning
  • record_outcome() — Record results (appends to .score-local/observations.jsonl)
  • get_working_memory() — Retrieve session memory
  • get_unverified_assumptions() — Check uncertain assumptions

See packages/context-discipline/README.md for details.

sdlc-harness

Traceable SDLC lifecycle, task evidence, and loopback logging for AI agents.

MCP tools:

  • bootstrap_sdlc_issue() - Initialize structured stage artifacts from a requirement
  • write_stage_artifact() - Write numbered requirement, specification, architecture, plan, or task
  • assess_sdlc_issue() - Assess stage artifacts for completeness and evidence
  • check_stage_completeness() - Verify prerequisite artifacts for a stage
  • record_implementation_evidence() - Record task test outcomes and status
  • assess_implementation_progress() - Report task completion and evidence summary
  • record_loopback() - Record discovered gaps and mark affected artifacts for review

See packages/sdlc-harness/README.md for details.


How It Works

apm install context-discipline@eclipse-score-apm-marketplace --trust-transitive-mcp
  ↓
  Installs context-discipline plus graphify-codegraph and apm-setup

apm compile -t copilot
  ↓
  Generates .github/copilot-instructions.md
  
Agent runs
  ↓
  Calls MCP tools (initialize_session, query_graph, etc.)
  MCP servers execute
  Observations accumulate in .score-local/

For deeper details on APM concepts, see Microsoft APM docs.


Local Learning Loop

Session 1: query_graph() + record_outcome()
Session 2: query_graph() + record_outcome()
Session 3: query_graph() + record_outcome()
   ↓ (observations.jsonl grows)
Agent patterns emerge
   ↓
Result: Fewer tokens, faster time-to-solution (all local)

Releasing

MCP sources are pinned to a commit SHA with the version as a comment:

- git+https://github.com/eclipse-score/mcp-servers@<sha>#subdirectory=packages/apm-setup # v0.1.0
  1. On an up-to-date main, run python3 scripts/prepare_release.py 0.2.0. It sets all package versions and pins the MCP sources to the current HEAD.
  2. Open a PR with only these changes and merge it.
  3. The Release workflow sees the new version, runs scripts/check_pins.py --release (pinned commit may only differ in version metadata) and the tests, then creates the tag v0.2.0 and the GitHub release.

If other changes land on main before the release PR, the release check fails; rerun step 1 on the new main.

More Information

About

Repository for MCP servers

Resources

Code of conduct

Security policy

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages