What is MCP Server-Client EAG-S-4?
MCP Server-Client EAG-S-4 is a local setup project that implements the Modular Computation Protocol (MCP), allowing users to interact with various computational tools through a server-client architecture.
How to use MCP Server-Client EAG-S-4?
To use this project, clone the repository, install the required dependencies using the uv
package manager, and run the server and client scripts to access the computational tools.
Key features of MCP Server-Client EAG-S-4?
- Hosts a server with 28 computational tools for various mathematical and image processing tasks.
- Provides a client interface to invoke server tools easily.
- Supports automation tools for Pinta, a graphic design application.
Use cases of MCP Server-Client EAG-S-4?
- Performing complex mathematical calculations such as addition, subtraction, and trigonometric functions.
- Automating image processing tasks like creating thumbnails.
- Utilizing Pinta automation tools for graphic design tasks.
FAQ from MCP Server-Client EAG-S-4?
- What programming language is used?
The project is implemented in Python.
- Is there a GUI for the client?
Yes, the project includes a GUI client to interact with the MCP server.
- Can I contribute to the project?
Yes! Contributions are welcome, and you can fork the repository to make changes.
🧠 mcp_server-client_EAG-S-4 - Local Setup
This repository provides a minimal implementation to set up and interact with the MCP (Modular Computation Protocol) locally. It consists of a server that exposes various computational tools and a client that communicates with the server to invoke those tools.
The project is managed using uv
, a fast Python package manager and workflow tool.
📂 Project Structure
mcp_server.py
— Hosts the MCP server with 28 tools available for interaction.mcp_client.py
— The entry point of the project; runs a client that connects to the MCP server and calls its tools.pyproject.toml
— Project configuration and dependencies using PEP 621.uv.lock
— Auto-generated lockfile for reproducible installations usinguv
.token.env
— Environment file that likely contains secrets or tokens.README.md
— Project documentation."""
🛠️ Available Tools on the MCP Server
🔢 Math Tools
add(a, b)
— Add two numbersadd_list(l)
— Add all numbers in a listsubtract(a, b)
— Subtract two numbersmultiply(a, b)
— Multiply two numbersdivide(a, b)
— Divide two numberspower(a, b)
— Raise a to the power of bsqrt(a)
— Square rootcbrt(a)
— Cube rootfactorial(a)
— Factoriallog(a)
— Natural logarithmremainder(a, b)
— Modulus operationsin(a)
— Sinecos(a)
— Cosinetan(a)
— Tangentmine(a, b)
— Special mining toolint_list_to_exponential_sum(int_list)
— Sum of exponentials of integersfibonacci_numbers(n)
— First n Fibonacci numbers
🧠 String/Image Tools
strings_to_chars_to_int(string)
— Convert characters to ASCIIcreate_thumbnail(image_path)
— Generate a thumbnail from an image
🖌️ Pinta Automation Tools
open_pinta_application()
— Launch and focus Pintaselect_rectangle_tool()
select_text_tool()
select_circle_tool()
draw_rectangle(x1, y1, x2, y2)
write_text_inside_rectangle(text, x1, y1, x2, y2)
draw_circle(x1, y1, radius)
get_lines_of_rectangle(x1, y1, x2, y2)
— Return lines from rectangle coordinatesget_midpoint_of_line(x1, y1, x2, y2)
— Return midpoint of a line
🚀 Getting Started
1. Clone the Repository
git clone https://github.com/your-username/mcp-protocol.git
cd mcp-protocol
uv
(if not already installed)
2. Install curl -Ls https://astral.sh/uv/install.sh | sh
Verify installation:
uv --version
3. Set Up the Project Environment
uv venv
source .venv/bin/activate # or .venv\Scripts\activate on Windows
uv pip install -r pyproject.toml
If
requirements.txt
doesn't exist:uv pip freeze > requirements.txt
4. Test MCP Server with GUI client
mcp dev mcp_server.py
5. Run the Client
python mcp_client.py
📌 Notes
- Ensure Pinta is installed if you're using Pinta-related tools.
- Image tools like
create_thumbnail
require valid image paths. mcp_client.py
is the main entry point to interact with the protocol.
📄 License
MIT License. Feel free to fork, modify, and contribute.
🤝 Contributing
Pull requests are welcome. For major changes, please open an issue first.