
mcp client
This is the MCP client used for making client side for the MCP server
Repository Info
About This Server
This is the MCP client used for making client side for the MCP server
Model Context Protocol (MCP) - This server can be integrated with AI applications to provide additional context and capabilities, enabling enhanced AI interactions and functionality.
Documentation
MCP Simple Chatbot
This example demonstrates how to integrate the Model Context Protocol (MCP) into a simple CLI chatbot. The implementation showcases MCP's flexibility by supporting multiple tools through MCP servers and is compatible with any LLM provider that follows OpenAI API standards.
Requirements
- Python 3.10
python-dotenvrequestsmcpuvicorn
Installation
-
Install the dependencies:
pip install -r requirements.txt -
Set up environment variables:
Create a
.envfile in the root directory and add your API key:LLM_API_KEY=your_api_key_here -
Configure servers:
The
servers_config.jsonfollows the same structure as Claude Desktop, allowing for easy integration of multiple servers. Here's an example:{ "mcpServers": { "sqlite": { "command": "uvx", "args": ["mcp-server-sqlite", "--db-path", "./test.db"] }, "puppeteer": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-puppeteer"] } } }Environment variables are supported as well. Pass them as you would with the Claude Desktop App.
Example:
{ "mcpServers": { "server_name": { "command": "uvx", "args": ["mcp-server-name", "--additional-args"], "env": { "API_KEY": "your_api_key_here" } } } }
Usage
-
Run the client:
python main.py -
Interact with the assistant:
The assistant will automatically detect available tools and can respond to queries based on the tools provided by the configured servers.
-
Exit the session:
Type
quitorexitto end the session.
Architecture
- Tool Discovery: Tools are automatically discovered from configured servers.
- System Prompt: Tools are dynamically included in the system prompt, allowing the LLM to understand available capabilities.
- Server Integration: Supports any MCP-compatible server, tested with various server implementations including Uvicorn and Node.js.
Class Structure
- Configuration: Manages environment variables and server configurations
- Server: Handles MCP server initialization, tool discovery, and execution
- Tool: Represents individual tools with their properties and formatting
- LLMClient: Manages communication with the LLM provider
- ChatSession: Orchestrates the interaction between user, LLM, and tools
Logic Flow
-
Tool Integration:
- Tools are dynamically discovered from MCP servers
- Tool descriptions are automatically included in system prompt
- Tool execution is handled through standardized MCP protocol
-
Runtime Flow:
- User input is received
- Input is sent to LLM with context of available tools
- LLM response is parsed:
- If it's a tool call → execute tool and return result
- If it's a direct response → return to user
- Tool results are sent back to LLM for interpretation
- Final response is presented to user
Quick Start
Clone the repository
git clone https://github.com/kartikeyapandey20/mcp-clientInstall dependencies
cd mcp-client
npm installFollow the documentation
Check the repository's README.md file for specific installation and usage instructions.
Repository Details
Recommended MCP Servers
Discord MCP
Enable AI assistants to seamlessly interact with Discord servers, channels, and messages.
Knit MCP
Connect AI agents to 200+ SaaS applications and automate workflows.
Apify MCP Server
Deploy and interact with Apify actors for web scraping and data extraction.
BrowserStack MCP
BrowserStack MCP Server for automated testing across multiple browsers.
Zapier MCP
A Zapier server that provides automation capabilities for various apps.