Skip to content

add creator MCP registry discovery and toolkit cataloging#610

Open
shaunak99 wants to merge 1 commit intotruffle-ai:mainfrom
shaunak99:feat/creator-tools-mcp-discovery
Open

add creator MCP registry discovery and toolkit cataloging#610
shaunak99 wants to merge 1 commit intotruffle-ai:mainfrom
shaunak99:feat/creator-tools-mcp-discovery

Conversation

@shaunak99
Copy link
Copy Markdown
Collaborator

@shaunak99 shaunak99 commented Feb 26, 2026

Summary by CodeRabbit

  • New Features

    • Added MCP server registry discovery tool to query available MCP servers.
    • Enhanced tool catalog to include enumerated toolkit types.
  • Documentation

    • Expanded skill creation guidance on listing tools and discovering MCP servers.
    • Updated references to tool enumeration and toolkit factory types.

@vercel
Copy link
Copy Markdown

vercel bot commented Feb 26, 2026

@shaunak99 is attempting to deploy a commit to the Shaunak's projects Team on Vercel.

A member of the Team first needs to authorize it.

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Feb 26, 2026

📝 Walkthrough

Walkthrough

This change introduces toolkit type discovery across the agent system by propagating availableToolkitTypes through config resolution into DextoAgent, adds a new MCP registry catalog tool for MCP server discovery, updates tool_catalog to expose available toolkit types, and enhances skill creation guidance documentation.

Changes

Cohort / File(s) Summary
Documentation
.agents/skills/create-skill/SKILL.md
Enhanced guidance for listing tools and MCP servers, referencing tool_catalog outputs and mcp_registry_catalog for toolkit/server discovery.
Type Propagation
packages/agent-config/src/resolver/types.ts, packages/agent-config/src/resolver/resolve-services-from-config.ts, packages/agent-config/src/resolver/to-dexto-agent-options.ts, packages/agent-config/src/resolver/to-dexto-agent-options.test.ts
Added availableToolkitTypes: string[] to ResolvedServices interface and threaded it through config resolution and DextoAgentOptions construction with corresponding test updates.
MCP Registry Integration
packages/agent-management/package.json, packages/agent-management/src/tool-factories/creator-tools/schemas.ts, packages/agent-management/src/tool-factories/creator-tools/factory.ts, packages/agent-management/src/tool-factories/creator-tools/mcp-registry-catalog-tool.test.ts
Added @dexto/registry dependency, introduced mcp_registry_catalog tool to query and display MCP server presets with optional config inclusion, and registered it as a creator tool.
Tool Catalog Enhancement
packages/agent-management/src/tool-factories/creator-tools/tool-catalog-tool.test.ts
Updated tool_catalog tool to expose toolkitsAvailable: string[] in its output alongside available tool ids, with tests verifying the new field.
Agent Class Updates
packages/core/src/agent/agent-options.ts, packages/core/src/agent/DextoAgent.ts
Added optional availableToolkitTypes field to DextoAgentOptions, initialized private immutable field in DextoAgent constructor, and exposed public getter getAvailableToolkitTypes() for toolkit type discovery.

Possibly related PRs

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

🐰 Through config it hops, and into the Agent it pops,
Toolkit types discovered, now toolkits flow free,
MCP servers revealed in the catalog's tree,
A registry guide for the curious to see! ✨

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main changes: adding MCP registry discovery capability and toolkit type cataloging throughout the codebase.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Tip

Try Coding Plans. Let us write the prompt for your AI agent so you can ship faster (with fewer bugs).
Share your feedback on Discord.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
packages/core/src/agent/agent-options.ts (1)

59-64: Prefer making availableToolkitTypes non-optional at the options boundary.

Keeping this optional can force fallback handling downstream for a value that is now resolver-derived. Consider requiring it and defaulting at boundary adapters.

♻️ Suggested refactor
-    availableToolkitTypes?: string[] | undefined;
+    availableToolkitTypes: string[];

As per coding guidelines, avoid optional/fallback chains and prefer a single source of truth for runtime values.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/core/src/agent/agent-options.ts` around lines 59 - 64, The
AgentOptions field availableToolkitTypes is currently optional, which forces
downstream fallback handling; change the AgentOptions declaration to make
availableToolkitTypes a non-optional string[] (remove the optional marker and
undefined union) and ensure every options/adapter that constructs or resolves
AgentOptions (e.g., the boundary adapters or resolver that currently derive
toolkit types) populates a default (e.g., an empty array or computed list)
before creating AgentOptions so callers can rely on a single source-of-truth
non-null array; update any call sites that assumed undefined to use the array
form.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@packages/core/src/agent/agent-options.ts`:
- Around line 59-64: The AgentOptions field availableToolkitTypes is currently
optional, which forces downstream fallback handling; change the AgentOptions
declaration to make availableToolkitTypes a non-optional string[] (remove the
optional marker and undefined union) and ensure every options/adapter that
constructs or resolves AgentOptions (e.g., the boundary adapters or resolver
that currently derive toolkit types) populates a default (e.g., an empty array
or computed list) before creating AgentOptions so callers can rely on a single
source-of-truth non-null array; update any call sites that assumed undefined to
use the array form.

ℹ️ Review info

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 1b3a411 and 1df2814.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (12)
  • .agents/skills/create-skill/SKILL.md
  • packages/agent-config/src/resolver/resolve-services-from-config.ts
  • packages/agent-config/src/resolver/to-dexto-agent-options.test.ts
  • packages/agent-config/src/resolver/to-dexto-agent-options.ts
  • packages/agent-config/src/resolver/types.ts
  • packages/agent-management/package.json
  • packages/agent-management/src/tool-factories/creator-tools/factory.ts
  • packages/agent-management/src/tool-factories/creator-tools/mcp-registry-catalog-tool.test.ts
  • packages/agent-management/src/tool-factories/creator-tools/schemas.ts
  • packages/agent-management/src/tool-factories/creator-tools/tool-catalog-tool.test.ts
  • packages/core/src/agent/DextoAgent.ts
  • packages/core/src/agent/agent-options.ts

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