-
Notifications
You must be signed in to change notification settings - Fork 2
feat: add mcp-use integration demo example #29
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- Add examples/mcp_use_demo.py showing mcp-use wrapper usage - Demonstrate direct tool calls, LLM integration, and workflows - Use uv inline dependencies for easy execution - Include comprehensive README with usage instructions - Gracefully handle missing mcp-use dependency with informative output Co-Authored-By: AJ Steers <[email protected]>
Original prompt from AJ Steers
|
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
👋 Greetings, Airbyte Team Member!Here are some helpful tips and reminders for your convenience. Testing This Branch via MCPTo test the changes in this specific branch with an MCP client like Claude Desktop, use the following configuration: {
"mcpServers": {
"connector-builder-mcp-dev": {
"command": "uvx",
"args": ["--from", "git+https://github.com/airbytehq/connector-builder-mcp.git@devin/1754867704-mcp-use-demo-example", "connector-builder-mcp"]
}
}
} Testing This Branch via CLIYou can test this version of the MCP Server using the following CLI snippet: # Run the CLI from this branch:
uvx 'git+https://github.com/airbytehq/connector-builder-mcp.git@devin/1754867704-mcp-use-demo-example#egg=airbyte-connector-builder-mcp' --help PR Slash CommandsAirbyte Maintainers can execute the following slash commands on your PR:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds a comprehensive demo and documentation for integrating connector-builder-mcp with mcp-use, a vendor-neutral MCP client library. The integration breaks vendor lock-in from Claude Desktop and enables any LLM provider to access Airbyte's connector development tools.
- Adds interactive demo script with 3 scenarios: direct tool calls, LLM integration, and multi-tool workflows
- Provides comprehensive documentation explaining integration benefits and usage patterns
- Uses uv inline dependency management for zero-setup execution with graceful fallback handling
Reviewed Changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.
File | Description |
---|---|
examples/mcp_use_demo.py | Interactive demo script showcasing mcp-use integration with connector-builder-mcp |
examples/README.md | Documentation explaining integration benefits, usage patterns, and strategic value |
- Optional: OpenAI API key for LLM integration demo | ||
""" | ||
|
||
import asyncio |
Copilot
AI
Aug 10, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The script is missing the required uv inline dependency specification comment block at the top. According to the PR description, this should use uv's # /// script
syntax for zero-setup execution, but the dependencies are not declared in the file.
Copilot uses AI. Check for mistakes.
examples/mcp_use_demo.py
Outdated
"mcpServers": { | ||
"connector-builder": { | ||
"command": "uv", | ||
"args": ["run", "connector-builder-mcp"], |
Copilot
AI
Aug 10, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hardcoding the command as 'uv' may cause issues if connector-builder-mcp is installed differently. Consider checking if the command exists or providing fallback options like 'connector-builder-mcp' directly.
"args": ["run", "connector-builder-mcp"], | |
# Dynamically select the command for connector-builder-mcp | |
if shutil.which("uv"): | |
mcp_command = "uv" | |
mcp_args = ["run", "connector-builder-mcp"] | |
elif shutil.which("connector-builder-mcp"): | |
mcp_command = "connector-builder-mcp" | |
mcp_args = [] | |
else: | |
print("⚠️ Neither 'uv' nor 'connector-builder-mcp' found in PATH. MCP server may not start correctly.") | |
mcp_command = "connector-builder-mcp" | |
mcp_args = [] | |
MCP_CONFIG = { | |
"mcpServers": { | |
"connector-builder": { | |
"command": mcp_command, | |
"args": mcp_args, |
Copilot uses AI. Check for mistakes.
print(f" {result}") | ||
|
||
except ImportError: | ||
print("⚠️ langchain-openai not available - install with: pip install langchain-openai") |
Copilot
AI
Aug 10, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The error message suggests installing 'langchain-openai' but doesn't specify the exact package name format. Should be consistent with the package name used in the import statement.
print("⚠️ langchain-openai not available - install with: pip install langchain-openai") | |
print("⚠️ langchain_openai module not available - install with: pip install langchain-openai") | |
print(" (import as 'langchain_openai', install as 'langchain-openai')") |
Copilot uses AI. Check for mistakes.
- Fix Ruff Format Check CI failure - Apply automatic code formatting to examples/mcp_use_demo.py Co-Authored-By: AJ Steers <[email protected]>
- Add required # /// script block with dependencies - Addresses Copilot feedback about missing uv inline dependencies - Enables zero-setup execution with uv run examples/mcp_use_demo.py Co-Authored-By: AJ Steers <[email protected]>
- Fix formatting issues introduced by uv inline dependency block - Addresses CI Ruff Format Check failure Co-Authored-By: AJ Steers <[email protected]>
feat: add mcp-use integration demo example
Summary
This PR adds a comprehensive demo script and documentation showing how to use mcp-use as a vendor-neutral wrapper for the connector-builder-mcp server. The demo enables users to access connector development tools through any LLM provider instead of being locked into Claude Desktop.
Key additions:
examples/mcp_use_demo.py
- Interactive demo script with 3 scenarios: direct tool calls, LLM integration, and multi-tool workflowsexamples/README.md
- Comprehensive documentation explaining integration benefits and usage patterns# /// script
) for zero-setup executionThe demo showcases the strategic value of mcp-use: breaking vendor lock-in, enabling automation, and supporting custom connector development workflows.
Review & Testing Checklist for Human
uv run examples/mcp_use_demo.py
correctly installs and uses the declared dependenciesRecommended test plan:
uv run examples/mcp_use_demo.py
to verify base functionality and dependency handlingpip install mcp-use
and re-run the demo to test actual MCP callsOPENAI_API_KEY
environment variable and test LLM integration demoDiagram
Notes
This integration demonstrates a key strategic opportunity: mcp-use enables vendor-neutral access to Airbyte's connector development tools, allowing users to:
The demo was implemented with proper error handling since mcp-use wasn't available in the development environment. Critical: The actual MCP integration calls need testing with mcp-use installed to verify correctness.
Link to Devin run: https://app.devin.ai/sessions/25af23d56419463db0c2e41793455775
Requested by: @aaronsteers