Skip to content

feat: datamate manager — dynamic MCP server management#99

Merged
suryaiyer95 merged 1 commit intomainfrom
feat/datamate-manager-clean
Mar 11, 2026
Merged

feat: datamate manager — dynamic MCP server management#99
suryaiyer95 merged 1 commit intomainfrom
feat/datamate-manager-clean

Conversation

@suryaiyer95
Copy link
Contributor

@suryaiyer95 suryaiyer95 commented Mar 10, 2026

Summary

  • Add datamate_manager tool for managing Altimate Datamates as MCP servers mid-session
  • Support full lifecycle: list, list-integrations, create, add, edit, delete, remove, status, list-config
  • Dynamic TUI refresh on MCP add/remove via ToolsChanged bus events (no reload needed)
  • Config persistence to altimate-code.json (project or global scope)
  • Integration tools resolved from API (matching frontend behavior) instead of sending empty tools: []
  • Add /altimate-setup skill for first-time credential configuration

Key changes

  • mcp/index.ts: Add MCP.remove() for full server purge, publish ToolsChanged on all add/remove paths, include dynamic servers in MCP.status()
  • sync.tsx: Handle mcp.tools.changed event to re-fetch MCP status
  • config/config.ts: Support altimate-code.json config filename across all loading paths
  • mcp/config.ts: Config utilities (addMcpToConfig, removeMcpFromConfig, listMcpInConfig, findAllConfigPaths) with .altimate-code/ and .opencode/ directory support
  • altimate/api/client.ts: API client with resolveIntegrations() to fetch full tool keys
  • altimate/tools/datamate.ts: 9-operation tool with config-first persistence

Test plan

  • Create a datamate with altimate integration → verify all 5 semantic tools appear
  • Add to global config → verify ~/.config/altimate-code/altimate-code.json updated
  • Add to project config → verify .opencode/opencode.jsonc updated
  • MCP dialog shows server immediately after add (no reload)
  • Remove datamate → verify MCP disappears from dialog immediately
  • list-config shows correct config file paths
  • /altimate-setup skill guides credential setup

🤖 Generated with Claude Code

@github-actions
Copy link

This PR doesn't fully meet our contributing guidelines and PR template.

What needs to be fixed:

  • PR description is missing required template sections. Please use the PR template.

Please edit this PR description to address the above within 2 hours, or it will be automatically closed.

If you believe this was flagged incorrectly, please let a maintainer know.

@suryaiyer95 suryaiyer95 force-pushed the feat/datamate-manager-clean branch from 28a2264 to 139e68b Compare March 11, 2026 02:11
- Add `AltimateApi` client for datamate CRUD and integration resolution
- Add `datamate` tool with 9 operations: list, show, create, update, delete,
  add (MCP connect), remove (MCP disconnect), list-integrations, status
- Extract shared MCP config utilities (`resolveConfigPath`, `addMcpToConfig`,
  `removeMcpFromConfig`, `listMcpInConfig`) to `mcp/config.ts`
- Add `/datamate-setup` skill for guided datamate onboarding
- Register datamate tool in tool registry and TUI sync context
- Add test suite for `AltimateApi` credential loading and API methods
@suryaiyer95 suryaiyer95 force-pushed the feat/datamate-manager-clean branch from 139e68b to d89d458 Compare March 11, 2026 02:32
@suryaiyer95 suryaiyer95 merged commit 9a02f27 into main Mar 11, 2026
7 of 11 checks passed
anandgupta42 pushed a commit that referenced this pull request Mar 17, 2026
feat: datamate manager — dynamic MCP server management
@anandgupta42 anandgupta42 deleted the feat/datamate-manager-clean branch March 17, 2026 00:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant