Skip to content

Add configurable MCP toolkit support#255

Open
Chel-Tbl wants to merge 1 commit into
jasonhedman:mainfrom
Chel-Tbl:bounty/arbitrary-mcp-support
Open

Add configurable MCP toolkit support#255
Chel-Tbl wants to merge 1 commit into
jasonhedman:mainfrom
Chel-Tbl:bounty/arbitrary-mcp-support

Conversation

@Chel-Tbl
Copy link
Copy Markdown

Summary

Closes #82.

Adds a configurable MCP toolkit so users can connect Toolkit.dev to any hosted MCP server from the toolkit selector.

Changes

  • Add an MCP toolkit with url and optional JSON headers parameters.
  • Discover hosted MCP tools dynamically with experimental_createMCPClient.
  • Prefix discovered MCP tools as mcp_* so they can be passed through the existing chat tool pipeline.
  • Close MCP clients after stream completion or stream errors.
  • Add a generic tool invocation renderer for dynamic tools that do not have static client components.
  • Tighten the existing MCP export route typing so the new empty/dynamic toolkit shape keeps typechecking.

Testing

  • pnpm exec prettier --check "src/app/api/chat/route.ts" "src/app/api/mcp/[server]/[transport]/route.ts" "src/app/(general)/_components/chat/messages/message-tool.tsx" "src/toolkits/toolkits/mcp/**/*.ts" "src/toolkits/toolkits/mcp/**/*.tsx" "src/toolkits/toolkits/shared.ts" "src/toolkits/toolkits/client.ts" "src/toolkits/toolkits/server.ts"
  • pnpm exec tsc --noEmit --pretty false
  • SKIP_ENV_VALIDATION=1 pnpm run build-pure

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.

Add arbitrary MCP Support

1 participant