Building Custom Agents
MCP-Use provides flexible options for building custom agents that can utilize MCP tools. This guide will show you how to create your own agents by leveraging the existing adapters, particularly focusing on the LangChain adapter.Why Build Custom Agents? While MCP-Use provides a built-in
MCPAgent class, custom agents give you maximum flexibility to integrate with existing systems, implement specialized behavior, or use different agent frameworks.Overview
MCP-Use allows you to:Access Tools
Connect to powerful MCP tools through flexible connectors
Convert & Adapt
Transform MCP tools to work with any agent framework via adapters
Build Agents
Create specialized agents tailored to your specific use cases
Using the LangChain Adapter
TheLangChainAdapter is a powerful component that converts MCP tools to LangChain tools, enabling you to use MCP tools with any LangChain-compatible agent.
Simplified API: The LangChain adapter provides a streamlined API that handles all the complexity of session management, connector initialization, and tool conversion automatically.
Basic Example
Here’s a simple example of creating a custom agent using the LangChain adapter:Contributing New Adapters
MCP-Use welcomes contributions for integrating with different agent frameworks! The adapter architecture is designed to make this process straightforward and requires minimal implementation effort.
Adapter Architecture
MCP-Use provides aBaseAdapter abstract class that handles most of the common functionality:
Automatic Handling
- Tool caching management
- Connector initialization
- Multi-connector iteration
Simple Implementation
Only implement
_convert_tool method to convert MCP tools to your framework’s formatCreating a New Adapter
Here’s a simple template for creating a new adapter:Using Your Custom Adapter
Once you’ve implemented your adapter, you can use it with the simplified API:Tips for Implementing an Adapter
Schema Conversion
Schema Conversion
Most frameworks have their own way of handling argument schemas. You’ll need to convert the MCP tool’s JSON Schema to your framework’s format.
Tool Execution
Tool Execution
When a tool is called in your framework, you’ll need to pass the call to the connector’s
call_tool method and handle the result.Result Parsing
Result Parsing
MCP tools return structured data with types like text, images, or embedded resources. Your adapter should parse these into a format your framework understands.
Error Handling
Error Handling
Ensure your adapter handles errors gracefully, both during tool conversion and execution.
The base adapter provides logging utilities to help with error reporting and debugging.
Conclusion
Maximum Flexibility
Build specialized agents tailored to your specific tasks or integrate MCP capabilities into existing systems
Simple Architecture
Easy extension with minimal implementation - just one
_convert_tool method neededKey Benefits:
- Simplified API: Create tools directly from MCPClient with a single method call
- Automatic Management: Session and connector complexity is handled automatically
- Flexible Integration: Works with any agent framework that has a LangChain-style interface