Skip to content

feat: add Devin platform support and MCP server integration - #726

Open
isaiahfrantz wants to merge 1 commit into
Egonex-AI:mainfrom
isaiahfrantz:feat/devin-support
Open

isaiahfrantz wants to merge 1 commit into
Egonex-AI:mainfrom
isaiahfrantz:feat/devin-support

Conversation

@isaiahfrantz

@isaiahfrantz isaiahfrantz commented Oct 14, 2026 •

Copy link
Copy Markdown

Summary

Adds support for running Understand Anything on Devin, plus a new stdio MCP server (@understand-anything/mcp) that exposes knowledge-graph tools to any MCP-capable agent. Devin is supported through its Claude-plugin compatibility layer — the same plugin.json, skills, hooks, and agents work unmodified, with small portability fixes where Devin's runtime differs from Claude Code's.

Changes

New packages/mcp — MCP server

  • bin/understand-anything-mcp.mjs: stdio MCP server exposing six tools over an existing .ua/ (or legacy .understand-anything/) graph:
    • understand_status — graph presence, metadata, counts, freshness
    • understand_search — fuzzy search + 1-hop graph context
    • understand_explain — deep-dive on a file or file:function
    • understand_diff — impact analysis of current git changes
    • understand_onboard — full onboarding guide
    • understand_dashboard — launch the dashboard, return the URL
  • Depends on @understand-anything/core and @understand-anything/skill via workspace deps; includes a standalone README with client config examples (.devin/config.json shown for Devin).

Hooks portability

  • hooks/hooks.json: PostToolUse matcher broadened to ^(Bash|exec)$ so it fires on Devin's exec tool as well as Claude's Bash.
  • New hooks/session-start-stale-check.mjs: replaces the inline shell one-liner in the SessionStart hook. Emits hookSpecificOutput.additionalContext JSON — the only form Devin injects into context — and resolves the update prompt relative to its own location, so no platform-specific env var is needed.
  • post-tool-use-auto-update.mjs: falls back to resolving auto-update-prompt.md from the script's own location when CLAUDE_PLUGIN_ROOT is unset.
  • auto-update-prompt.md: plugin-root resolution now tries $DEVIN_PLUGIN_ROOT and the parent of the hooks/ dir containing the prompt.

Skills

  • understand, understand-domain, understand-dashboard SKILL.md plugin-root resolution blocks gain two candidates: $DEVIN_PLUGIN_ROOT and <SKILL_DIR>/../.. (Devin's agent shell has no plugin-root variable; the skill's own base directory is the reliable anchor).

Installers

  • install.sh / install.ps1: new devin platform target (~/.agents/skills, per-skill style), with a post-install tip pointing at devin plugins install for the full plugin experience.

Docs

  • README: Devin section covering the two install paths (plugin via devin plugins install Egonex-AI/Understand-Anything#understand-anything-plugin, or skills-only via install.sh devin), MCP server registration snippet, badge, and compatibility table row.
  • CLAUDE.md: new "Devin Integration" section documenting how Devin loads the plugin and the invariants to preserve (no .devin-plugin/plugin.json — a native manifest would take precedence over the Claude one); versioning list updated to seven files for the new package.

Design notes

  • No native Devin manifest. Devin's Claude-plugin compatibility reads .claude-plugin/plugin.json and hooks/hooks.json, sets CLAUDE_PLUGIN_ROOT for hook commands, and loads agents/ as understand-anything:<name> subagents. A .devin-plugin/plugin.json would take precedence and break this.
  • MCP instead of more skills. Read/query operations are exposed via the MCP server rather than duplicated as skills, per each platform's strengths.

Testing

  • New tests/hooks/session-start-stale-check.test.mjs (109 lines) covering the stale-check hook; post-tool-use-auto-update.test.mjs updated for the prompt-path fallback.

Versioning note

packages/mcp/package.json carries a "version" field — the release checklist now spans seven files.

- Add packages/mcp MCP server exposing graph tools to MCP clients
- Document Devin plugin installation via Claude-plugin compatibility
- Add Devin platform to one-line installer (install.sh/install.ps1)
- Update CLAUDE.md with Devin integration notes (hooks, skills, MCP)
- Add Devin badge and platform entry to README
- Bump version count from 6 to 7 files in versioning checklist
- Add MCP server dependencies (@modelcontextprotocol/sdk

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant