Skip to main content

MCP configuration tool

Project description

APM – Agent Package Manager

An open-source, community-driven dependency manager for AI agents.

Think package.json, requirements.txt, or Cargo.toml — but for AI agent configuration.

GitHub Copilot · Claude Code · Cursor · OpenCode · Codex · Gemini · Windsurf

Documentation · Quick Start · CLI Reference · Roadmap


Portable by manifest. Secure by default. Governed by policy. One file describes every agent's context; one command reproduces it everywhere; one policy controls what an org will allow.

Why APM

AI coding agents need context to be useful — standards, prompts, skills, plugins — but today every developer sets this up manually. Nothing is portable nor reproducible. There's no manifest for it.

APM fixes this. Declare your project's agentic dependencies once in apm.yml, and every developer who clones your repo gets a fully configured agent setup in seconds — with transitive dependency resolution, just like npm or pip. It's also the first tool that lets you author plugins with a real dependency manager and export standard plugin.json packages.

# apm.yml — ships with your project
name: your-project
version: 1.0.0
dependencies:
  apm:
    # Skills from any repository
    - anthropics/skills/skills/frontend-design
    # Plugins
    - github/awesome-copilot/plugins/context-engineering
    # Specific agent primitives from any repository
    - github/awesome-copilot/agents/api-architect.agent.md
    # A full APM package with instructions, skills, prompts, hooks...
    - microsoft/apm-sample-package#v1.0.0
  mcp:
    # MCP servers -- installed into every detected client
    - name: io.github.github/github-mcp-server
      transport: http   # MCP transport name, not URL scheme -- connects over HTTPS
git clone <org/repo> && cd <repo>
apm install    # every agent is configured

Coming from npx skills add? Drop-in:

apm install vercel-labs/agent-skills                            # whole bundle, like npx skills add
apm install vercel-labs/agent-skills --skill deploy-to-vercel   # one skill, persisted to apm.yml

Same install gesture. You also get a manifest, lockfile, and reproducibility.

Zero-config Copilot:

apm compile -t copilot   # writes .github/copilot-instructions.md

One command, no configuration -- VS Code and GitHub Copilot read the file automatically. APM dogfoods this target on its own repository.

The three promises

1. Portable by manifest

One apm.yml describes every primitive your agents need — instructions, skills, prompts, agents, hooks, plugins, MCP servers — and apm install reproduces the exact same setup across every client on every machine. apm.lock.yaml pins the resolved tree the way package-lock.json does for npm.

  • One manifest for everything — declared once, deployed across Copilot, Claude, Cursor, OpenCode, Codex, Gemini, Windsurf
  • Install from anywhere — GitHub, GitLab, Bitbucket, Azure DevOps, GitHub Enterprise, any git host
  • Transitive dependencies — packages can depend on packages; APM resolves the full tree
  • Author plugins — build Copilot, Claude, and Cursor plugins with dependency management, then export standard plugin.json
  • Marketplaces — install plugins from curated registries in one command, deployed across all targets and locked
  • Pack & distributeapm pack bundles your configuration as a zipped package or a standalone plugin
  • CI/CD ready — GitHub Action for automated workflows

2. Secure by default

Agent context is executable in effect — a prompt is a program for an LLM. APM treats it that way. Every install scans for hidden Unicode that can hijack agent behavior; the lockfile pins integrity hashes; transitive MCP servers are gated by trust prompts.

  • Content securityapm install blocks compromised packages before agents read them; apm audit runs the same checks on demand
  • Lockfile integrityapm.lock records resolved sources and content hashes for full provenance
  • Drift detectionapm audit rebuilds your agent context in scratch and diffs it against your working tree to catch hand-edits before they ship
  • MCP trust boundaries — transitive MCP servers require explicit consent

3. Governed by policy

apm-policy.yml lets a security team say "these are the only sources, scopes, and primitives this org will allow" and have every apm install enforce it — with tighten-only inheritance from enterprise to org to repo, a published bypass contract, and audit-mode CI gates.

Get Started

Linux / macOS

curl -sSL https://aka.ms/apm-unix | sh

Windows

irm https://aka.ms/apm-windows | iex

Native release binaries are published for macOS, Linux, and Windows x86_64. apm update reuses the matching platform installer.

Other install methods

Linux / macOS

# Homebrew
brew install microsoft/apm/apm
# pip
pip install apm-cli

Windows

# Scoop
scoop bucket add apm https://github.com/microsoft/scoop-apm
scoop install apm
# pip
pip install apm-cli

Then start adding packages:

apm install microsoft/apm-sample-package#v1.0.0

Or install from a marketplace:

apm marketplace add github/awesome-copilot
apm install azure-cloud-development@awesome-copilot

Or add an MCP server (wired into Copilot, Claude, Cursor, Codex, OpenCode, Gemini, and Windsurf):

apm install --mcp io.github.github/github-mcp-server --transport http   # connects over HTTPS

Codex CLI currently does not support remote MCP servers; the install will skip Codex with a notice. Omit --transport http to use the local Docker variant on Codex (requires GITHUB_PERSONAL_ACCESS_TOKEN).

See the Getting Started guide for the full walkthrough.

Works with agentrc

agentrc analyzes your codebase and generates tailored agent instructions — architecture, conventions, build commands — from real code, not templates.

Use agentrc to author high-quality instructions, then package them with APM to share across your org. The .instructions.md format is shared by both tools — no conversion needed when moving instructions into APM packages.

Community

Created by @danielmeppiel. Maintained by @danielmeppiel and @sergio-sisternes-epam.


Built on open standards: AGENTS.md · Agent Skills · MCP

Trademarks

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.

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

apm_cli-0.12.3.tar.gz (864.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

apm_cli-0.12.3-py3-none-any.whl (944.7 kB view details)

Uploaded Python 3

File details

Details for the file apm_cli-0.12.3.tar.gz.

File metadata

  • Download URL: apm_cli-0.12.3.tar.gz
  • Upload date:
  • Size: 864.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for apm_cli-0.12.3.tar.gz
Algorithm Hash digest
SHA256 ec90d59e27a20f7d431d642e498a3bec29effd981030f5ec681f5e2a2a973324
MD5 248fc5bcf6cae4b3aa15302b268a47af
BLAKE2b-256 51b1cd43f987dcaeeee701c227e41a26ee1b10a05517c460f80e26557c66ef3d

See more details on using hashes here.

Provenance

The following attestation bundles were made for apm_cli-0.12.3.tar.gz:

Publisher: build-release.yml on microsoft/apm

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file apm_cli-0.12.3-py3-none-any.whl.

File metadata

  • Download URL: apm_cli-0.12.3-py3-none-any.whl
  • Upload date:
  • Size: 944.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for apm_cli-0.12.3-py3-none-any.whl
Algorithm Hash digest
SHA256 751afb436ba7083558cc3c19f13c58ac60676bd503451ab31537238dc0b44ee8
MD5 0c2a7c9e54dd8d7addc3cedd0398545b
BLAKE2b-256 eb56c577495135c706b8df4ac38d78d982b305374852fb74fe976284292ef073

See more details on using hashes here.

Provenance

The following attestation bundles were made for apm_cli-0.12.3-py3-none-any.whl:

Publisher: build-release.yml on microsoft/apm

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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