MCP Demo

by guobinqiu

1 stars
312 downloads
Not rated
GitHub

About

测试 mcp client 通过 deepseek 连接 mcp server 获取天气预报

Details

Author
guobinqiu
GitHub stars
1
Downloads
312
Categories
Other

- Provides two tools: get_alerts and get_forecast
- Uses the free National Weather Service API (api.weather.gov)
- Requires DeepSeek-V3 model (deepseek-chat) for tool support
- Written in Python, with a Golang version also available
- Simple client-server architecture over stdio

Clone the repository, create a Python virtual environment with uv, and set your OPENAI_API_KEY in a .env file. Run the client with python client/main.py server/main.py. The client accepts natural language queries about weather.

MCP Python Demo

> LLM 使用的 deepseek-chat 因为只有v3有tools属性 (deepseek-reasoner是不行的)

chat_response = client.chat.completions.create(
    model="deepseek-chat", # 通过指定 model='deepseek-chat' 即可调用 DeepSeek-V3 V3有tools属性
    messages=messages,
    tools=available_tools,
    tool_choice="auto"
)

安装

pip install uv

uv init mcp-demo-python

git clone git@github.com:guobinqiu/mcp-demo-python.git cd mcp-demo-python uv venv source .venv/bin/activate

uv add "mcp[cli]" httpx

uv add mcp openai python-dotenv

rm main.py

运行

运行前把.env文件里的OPENAI_API_KEY换成你自己的

source .venv/bin/activate
python client/main.py server/main.py

输出

[04/23/25 21:11:54] INFO     Processing request of type ListToolsRequest                                                                                 server.py:534

Connected to server with tools: ['get_alerts', 'get_forecast']

MCP Client Started!
Type your queries or 'quit' to exit.

Query: what's the weather in new york
[04/23/25 21:12:09] INFO Processing request of type ListToolsRequest server.py:534
[04/23/25 21:12:15] INFO Processing request of type CallToolRequest server.py:534
INFO HTTP Request: GET https://api.weather.gov/points/40.7128,-74.006 "HTTP/1.1 200 OK" _client.py:1740
[04/23/25 21:12:16] INFO HTTP Request: GET https://api.weather.gov/gridpoints/OKX/33,35/forecast "HTTP/1.1 200 OK" _client.py:1740
[DEBUG] final_text[0] type: <class 'str'>, value: Here's the current weather forecast for New York:

Today:

- Temperature: 73°F - Wind: 7 mph NW - Forecast: Mostly sunny, with a high near 73.

Tonight:

- Temperature: 57°F - Wind: 3 to 7 mph SE - Forecast: Mostly clear.

Thursday:

- Temperature: 68°F (falling to 64°F in the afternoon) - Wind: 3 to 12 mph SE - Forecast: Sunny.

Thursday Night:

- Temperature: 56°F - Wind: 6 to 12 mph S - Forecast: Mostly clear.

Friday:

- Temperature: 70°F (falling to 66°F in the afternoon) - Wind: 5 to 14 mph S - Forecast: Partly sunny.

Let me know if you'd like more details!

Here's the current weather forecast for New York:

Today:

- Temperature: 73°F - Wind: 7 mph NW - Forecast: Mostly sunny, with a high near 73.

Tonight:

- Temperature: 57°F - Wind: 3 to 7 mph SE - Forecast: Mostly clear.

Thursday:

- Temperature: 68°F (falling to 64°F in the afternoon) - Wind: 3 to 12 mph SE - Forecast: Sunny.

Thursday Night:

- Temperature: 56°F - Wind: 6 to 12 mph S - Forecast: Mostly clear.

Friday:

- Temperature: 70°F (falling to 66°F in the afternoon) - Wind: 5 to 14 mph S - Forecast: Partly sunny.

Let me know if you'd like more details!

Query:

Golang版

> https://github.com/guobinqiu/mcp-demo-golang

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.