MCP TCP Service for PWM Control
Project description
mcp2tcp: Bridge between AI Models and Physical World
Connect AI Large Language Models to hardware devices through the Model Context Protocol (MCP).
GitHub Repository | Documentation
Features
-
Intelligent TCP Communication
- Connect and send commands to TCP server
- Real-time status monitoring and error handling
-
MCP Protocol Integration
- Full Model Context Protocol support
- Resource management and tool invocation
- Flexible prompt system
Supported Clients
mcp2tcp supports all clients implementing the MCP protocol, including:
- Claude Desktop (Test ok)
- Continue (Should work)
- Cline (Test ok)
Quick Start
make sure you have installed uv
```bash
windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
MacOS
curl -LsSf https://astral.sh/uv/install.sh | sh
Basic Configuration
Add the following to your MCP client configuration:
{
"mcpServers": {
"mcp2tcp": {
"command": "uvx",
"args": ["mcp2tcp"]
}
}
}
Serial Port Configuration
Create or modify config.yaml to configure serial port parameters:
tcp:
# TCP服务器配置
remote_ip: "127.0.0.1" # 远端IP地址
port: 9999 # 端口号
connect_timeout: 3.0 # 连接超时时间,单位为秒
receive_timeout: 2.0 # 接收超时时间,单位为秒
communication_type: "client" # 通信类型,client或server
response_start_string: "CMD" # 可选,TCP应答的开始字符串,默认为OK
commands:
# PWM控制命令
set_pwm:
command: "CMD_PWM {frequency}" # frequency为0-100的整数,表示PWM占空比
need_parse: false # 不需要解析响应内容
data_type: "ascii" # 数据类型,ascii或hex
parameters:
- name: "frequency"
type: "integer"
description: "PWM frequency value (0-100)"
required: true
prompts:
- "把PWM调到最大 (frequency=100)"
- "把PWM调到最小 (frequency=0)"
- "请将PWM设置为{frequency} (0-100的整数)"
- "关闭PWM (frequency=0)"
- "把PWM调到一半 (frequency=50)"
# PICO信息查询命令
get_pico_info:
command: "CMD_PICO_INFO" # 实际发送的命令格式,server会自动添加\r\n
need_parse: true # 需要解析响应内容
data_type: "ascii" # 数据类型,ascii或hex
prompts:
- "查询Pico板信息"
- "显示开发板状态"
Configuration File Location
The configuration file (config.yaml) can be placed in different locations depending on your needs. The program searches for the configuration file in the following order:
1. Current Working Directory (For Development)
- Path:
./config.yaml - Example: If you run the program from
C:\Projects, it will look forC:\Projects\config.yaml - Best for: Development and testing
- No special permissions required
2. User's Home Directory (Recommended for Personal Use)
- Windows:
C:\Users\YourName\.mcp2tcp\config.yaml - macOS:
/Users/YourName/.mcp2tcp/config.yaml - Linux:
/home/username/.mcp2tcp/config.yaml - Best for: Personal configuration
- Create the
.mcp2tcpdirectory if it doesn't exist - No special permissions required
3. System-wide Configuration (For Multi-user Setup)
- Windows:
C:\ProgramData\mcp2tcp\config.yaml(requires admin rights) - macOS/Linux:
/etc/mcp2tcp/config.yaml(requires sudo/root) - Best for: Shared configuration in multi-user environments
- Create the directory with appropriate permissions
The program will use the first valid configuration file it finds in this order. Choose the location based on your needs:
- For testing: use current directory
- For personal use: use home directory (recommended)
- For system-wide settings: use ProgramData or /etc
Documentation
For detailed documentation, please visit our GitHub repository.
Support
If you encounter any issues or have questions:
License
This project is licensed under the MIT License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcp2tcp-0.3.0.tar.gz.
File metadata
- Download URL: mcp2tcp-0.3.0.tar.gz
- Upload date:
- Size: 1.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3333de87c27661d866467a3d77ee6007d924e57edea6b4ec8fdc354540e43df0
|
|
| MD5 |
c69619e44942f5fdc66a80643a7c694d
|
|
| BLAKE2b-256 |
80142d5d435e65e72d7e7dbc64a9a7e67f047b46a88d7919f6835b9defff7a95
|
File details
Details for the file mcp2tcp-0.3.0-py3-none-any.whl.
File metadata
- Download URL: mcp2tcp-0.3.0-py3-none-any.whl
- Upload date:
- Size: 11.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
33f0cf845bcb31b9369d95f8af3c3515c8259bf2ef0e212f8a5c0f0fd15457bc
|
|
| MD5 |
b618e1fec9f51d3be65ca77c15d97254
|
|
| BLAKE2b-256 |
690dd28ccba0f34b45bc9ef339a7e4f53261f67e57c488e16af147c4d8fbe911
|