mcp-client logo

mcp-client

by otoTree

The `mcp-client` project exposes a local mcp-server through Flask, allowing users to create their own intranet penetration for interaction between platforms like Coze/Dify/FastGPT and local resources.

View on GitHub

Last updated: N/A

What is mcp-client?

mcp-client is a project that exposes a local mcp-server through a Flask application, enabling users to create their own intranet penetration. This allows platforms like Coze, Dify, and FastGPT to interact with resources on the user's local network.

How to use mcp-client?

To use mcp-client, you need to set up the environment by installing uv, creating a virtual environment, and installing dependencies from the pyproject.toml file. You then configure the server information in mcp_server.json and environment variables in .env. Finally, run the server.py file to start the server and use the provided API endpoints to interact with the exposed services.

Key features of mcp-client

  • Exposes local services through a Flask API

  • Supports custom server configurations via mcp_server.json

  • Uses environment variables for sensitive information

  • Provides API endpoints for listing and calling tools on the server

Use cases of mcp-client

  • Integrating local tools with AI platforms like Coze, Dify, and FastGPT

  • Creating a secure tunnel to access local resources from remote locations

  • Developing and testing AI agents that require access to local data

  • Building custom integrations between local systems and cloud services

FAQ from mcp-client

How do I configure the services that are exposed?

You configure the services in the mcp_server.json file. Each service definition includes a description, command, and arguments.

How do I protect sensitive information?

Sensitive information such as API keys should be stored in the .env file and added to .gitignore to prevent it from being committed to version control.

What is the purpose of the virtual environment?

The virtual environment isolates the project's dependencies, preventing conflicts with other projects.

How do I call a specific tool on a server?

You send a POST request to the /call_tool endpoint with the server name, tool name, arguments, and secret key in the request body.

Why am I getting certificate errors on cloud platforms?

The project uses a self-signed certificate, which may not be trusted by cloud platforms. Consider using a certificate from a trusted CA for production deployments.