Description
Create a separate devsync-mcp PyPI package that exposes DevSync's extraction, adaptation, and merge functionality as an MCP server. The headline feature is AI-powered merge of team configs with personal configs, usable from any MCP-capable IDE.
Context
DevSync v2 (0.12.0) shipped with PracticeExtractor and PracticeAdapter — the core engines for AI-powered extraction and intelligent merging. These are currently only accessible via the devsync CLI. Wrapping them as MCP tools lets AI coding assistants call them directly, enabling workflows like /sync-team from within Claude Code.
This is a separate repo (troylar/devsync-mcp) and separate PyPI package (pip install devsync-mcp), depending on devsync>=0.12.0 for core logic.
Architecture
devsync core dependencies (read-only, no changes needed)
devsync/core/extractor.py — PracticeExtractor (extraction engine)
devsync/core/adapter.py — PracticeAdapter (adaptation/merge engine)
devsync/core/practice.py — PracticeDeclaration, MCPDeclaration, CredentialSpec
devsync/llm/provider.py — LLMProvider, resolve_provider()
devsync/llm/response_models.py — ExtractionResult, AdaptationPlan, AdaptationAction
devsync/storage/tracker.py — InstallationTracker
devsync/core/component_detector.py — existing config detection
New package structure
devsync-mcp/
├── devsync_mcp/
│ ├── __init__.py
│ ├── server.py # FastMCP v2 server definition
│ ├── tools/
│ │ ├── extraction.py # pull_team_profile, list_practices, detect_local_configs
│ │ ├── merging.py # preview_merge, apply_merge
│ │ ├── backups.py # backup_current_config, restore_config
│ │ └── sync.py # get_merge_status, sync_all
│ └── models.py # Response models for MCP tools
├── .claude/commands/sync-team.md # Claude Code skill
├── pyproject.toml
├── tests/
└── README.md
Dependencies
dependencies = [
"devsync>=0.12.0",
"fastmcp>=2.0.0,<4.0.0",
]
MCP Tools (9)
| Phase |
Tool |
Wraps |
Description |
| 1 |
pull_team_profile |
PracticeExtractor.extract() |
Extract practices from a source repo/dir |
| 1 |
list_available_practices |
ExtractionResult |
Browse extracted practices |
| 1 |
detect_local_configs |
PracticeAdapter._detect_existing_rules() |
Scan project for existing rules |
| 2 |
preview_merge |
PracticeAdapter.adapt() |
Show what AI-merge would do (install/merge/skip) |
| 2 |
apply_merge |
File writes + tracker |
Execute the adaptation plan |
| 2 |
backup_current_config |
New backup logic |
Snapshot existing rules before merge |
| 2 |
restore_config |
Restore from backup |
Roll back to previous state |
| 3 |
get_merge_status |
InstallationTracker |
Show what's installed/merged/skipped |
| 3 |
sync_all |
Orchestration |
Pull + detect + preview + apply in one call |
Acceptance Criteria
Vision Alignment
- ✅ Zero-friction:
pip install devsync-mcp, no other setup
- ✅ IDE-agnostic: MCP works with any MCP-capable tool
- ✅ Credential safety: no secrets in outputs
- ⚠️ Tension: "Not a plugin framework" — this is a thin wrapper, not a runtime. The MCP server is plumbing that delegates to devsync core.
- ⚠️ Tension: "Not an IDE" — the
/sync-team skill is tool-specific. Keep it as an optional add-on, not a core feature.
Implementation Phases
- Foundation — repo setup, FastMCP server, tools 1-3 (extraction)
- Merge Core — tools 4-7 (preview, apply, backup, restore)
- Sync & Polish — tools 8-9 (status, sync_all),
/sync-team skill
- Package & Publish — CI, PyPI, README, docs
Description
Create a separate
devsync-mcpPyPI package that exposes DevSync's extraction, adaptation, and merge functionality as an MCP server. The headline feature is AI-powered merge of team configs with personal configs, usable from any MCP-capable IDE.Context
DevSync v2 (0.12.0) shipped with
PracticeExtractorandPracticeAdapter— the core engines for AI-powered extraction and intelligent merging. These are currently only accessible via thedevsyncCLI. Wrapping them as MCP tools lets AI coding assistants call them directly, enabling workflows like/sync-teamfrom within Claude Code.This is a separate repo (
troylar/devsync-mcp) and separate PyPI package (pip install devsync-mcp), depending ondevsync>=0.12.0for core logic.Architecture
devsync core dependencies (read-only, no changes needed)
devsync/core/extractor.py—PracticeExtractor(extraction engine)devsync/core/adapter.py—PracticeAdapter(adaptation/merge engine)devsync/core/practice.py—PracticeDeclaration,MCPDeclaration,CredentialSpecdevsync/llm/provider.py—LLMProvider,resolve_provider()devsync/llm/response_models.py—ExtractionResult,AdaptationPlan,AdaptationActiondevsync/storage/tracker.py—InstallationTrackerdevsync/core/component_detector.py— existing config detectionNew package structure
Dependencies
MCP Tools (9)
pull_team_profilePracticeExtractor.extract()list_available_practicesExtractionResultdetect_local_configsPracticeAdapter._detect_existing_rules()preview_mergePracticeAdapter.adapt()apply_mergebackup_current_configrestore_configget_merge_statusInstallationTrackersync_allAcceptance Criteria
troylar/devsync-mcpwith CI (lint, test, publish)pip install devsync-mcpinstalls cleanly alongside devsyncpull_team_profileextracts practices from Git URL or local pathpreview_mergereturnsAdaptationPlanas structured JSONapply_mergewrites files to correct tool-specific directories/sync-teamClaude Code skill works end-to-enddevsync-mcpVision Alignment
pip install devsync-mcp, no other setup/sync-teamskill is tool-specific. Keep it as an optional add-on, not a core feature.Implementation Phases
/sync-teamskill