Egile MCP Client
A comprehensive Model Context Protocol (MCP) client that provides two operational modes and a web interface for interacting with MCP servers.
Features
- Two Operation Modes:
- Direct Mode: Connect directly to MCP server tools and resources
- Agent Mode: Use a generic AI agent that works with any MCP server
- Multiple Interfaces:
- Terminal CLI: Command-line interface for both modes
- Web Chat Interface: Browser-based chatbot with conversation history
- AI Provider Support: OpenAI, Anthropic Claude, xAI Grok, and extensible for other providers
- Conversation History: Persistent chat history across sessions
- Real-time Communication: WebSocket support for live interactions
Quick Start
Installation
# Install dependencies
pip install -e .
# Or using poetry
poetry install
Configuration
Create a config.yaml file:
# AI Providers (for agent mode)
ai_providers:
openai:
api_key: "your-openai-api-key"
model: "gpt-4"
anthropic:
api_key: "your-anthropic-api-key"
model: "claude-3-sonnet-20240229"
xai:
api_key: "your-xai-api-key"
model: "grok-3"
# MCP Servers
mcp_servers:
- name: "example_server"
url: "http://localhost:8000"
type: "http"
- name: "local_server"
command: ["python", "/path/to/server/main.py"]
type: "stdio"
# Default settings
default_ai_provider: "openai"
web_interface:
host: "localhost"
port: 8080
Usage
Terminal Interface
# Direct mode - connect directly to MCP server
egile-mcp-client direct --server example_server
# Agent mode - use AI agent with MCP tools
egile-mcp-client agent --provider openai
# List available tools from a server
egile-mcp-client tools --server example_server
# Interactive chat in terminal
egile-mcp-client chat --mode agent --provider openai
Web Interface
# Start the web server
egile-mcp-client web
# Then open http://localhost:8080 in your browser
Architecture
egile-mcp-client/
├── egile_mcp_client/
│ ├── __init__.py
│ ├── cli.py # Command-line interface
│ ├── config.py # Configuration management
│ ├── mcp/
│ │ ├── __init__.py
│ │ ├── client.py # MCP client implementation
│ │ ├── connection.py # Connection management
│ │ └── protocol.py # MCP protocol handling
│ ├── agents/
│ │ ├── __init__.py
│ │ ├── base.py # Base agent interface
│ │ ├── openai_agent.py # OpenAI implementation
│ │ └── anthropic_agent.py # Anthropic implementation
│ ├── web/
│ │ ├── __init__.py
│ │ ├── app.py # FastAPI web application
│ │ ├── routes.py # API routes
│ │ ├── static/ # Static files (CSS, JS)
│ │ └── templates/ # HTML templates
│ └── utils/
│ ├── __init__.py
│ ├── history.py # Conversation history
│ └── logging.py # Logging utilities
├── tests/
├── config.example.yaml
└── README.md
License
MIT License
Metadata
Release files for egile-mcp-client 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| egile_mcp_client-0.1.3.tar.gz | 30.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| egile_mcp_client-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 68.1 kB
Release files / egile_mcp_client-0.1.3.tar.gz
| Download URL | egile_mcp_client-0.1.3.tar.gz |
|---|---|
| Size | 30.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
aed89265ff252eafe805846cbaa5c9c37b0356edae9ad54035f660c180272432
|
|
BLAKE2b-256 checksum How to use checksums |
f18718b49e292ac0886328b94e79f3c2f903a0772f59aa6f1551a9daf4c5a34c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Release files / egile_mcp_client-0.1.3-py3-none-any.whl
| Download URL | egile_mcp_client-0.1.3-py3-none-any.whl |
|---|---|
| Size | 37.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
42e4cca7c7ed1d5c7f0395a089d1252cb9855a7c19fb1ebbb7a39721a2cca578
|
|
BLAKE2b-256 checksum How to use checksums |
481ae44fb54041dac7d9202e8733a5a900fc4250875051b5784c1931a4645d04
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Security for egile-mcp-client 0.1.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.