mcpField
M
mcp

mcp

Local
github.com/zhkzlyDeveloper Tools0Updated 82w ago

About mcp

This example project demonstrates MCP server and client setup, using Cline as the client and allowing Gemini as the LLM. It includes sample tools and notes on configuring and running a server.

Key features

  1. 01Cline client configuration
  2. 02Gemini model option
  3. 03Sample server tools
  4. 04Python client example
  5. 05uv-based server startup

Use cases

  1. 01Try MCP tool calls from Cline
  2. 02Configure a local MCP server
  3. 03Explore a basic Python client

MCP support

The project describes configuring an MCP server in Cline and running it with `uv`. It also includes a Python client example for communicating with an LLM.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

mcp

这个是参考:

https://mp.weixin.qq.com/s/ULxokHOn4zVOgiLHf9DQUA,

https://zhuanlan.zhihu.com/p/20222456593

作出一些简单地补充,采用cline 当作client,可以选择gemini作为llm

1743774040990

文中似乎没有特意注明如何使用claude desktop。这里可以选择多种client作为和llm沟通的平台(就是一个界面,也可以自己写)

当前可以选择的client 在llms-full.txt 中有列出来

server 主要是用来生成工具的,工具正如/src/calculate.py,src/datawale.py中展示的,所以一般而言,我们需要定义的就是这个工具(有人进行了开源可以自行选择,比如:https://composio.dev/)

在这里主要展示如何使用client

vscode 中安装Cline 插件,选择合适的模型,如上图

然后选择 mcp servers ,installed ,edit configuration将配置文件添加进去即可

1743774942455

1743774549113

command 这里必须使用绝对路径,相对路径会出现错误

调用工具的时候,应该是类似与首先执行server 使其始终运行,以便之后进行通信调用 类似于:/Users/{username}/.local/bin/uv --directory /Users/{username}... run txt_counter.py

--directory 切换执行目录。

1743774752161

也可以直接运行txt_counter.py,但是需要自己修改端口 1743774856667

client(我没有尝试)

src/mcp_client.py

参考:https://github.com/modelcontextprotocol/python-sdk?tab=readme-ov-file#quickstart

实际上的作用就是类似于一个ui,目的就是和llm进行通信,获取response(比如需要调用的工具,可以参考langchain)

llms-full.txt
官方的说明文档吧(第一个链接中有)

一些使用的简单示例

https://modelcontextprotocol.io/examples

prompts:的结构

有点类似与langchain bind_tools,但是功能更强大

https://modelcontextprotocol.io/docs/concepts/prompts#prompts

Prompts enable servers to define reusable prompt templates and workflows that clients can easily surface to users and LLMs. They provide a powerful way to standardize and share common LLM interactions.

Prompts are designed to be user-controlled , meaning they are exposed from servers to clients with the intention of the user being able to explicitly select them for use.

{
  name: string;              // Unique identifier for the prompt
  description?: string;      // Human-readable description
  arguments?: [              // Optional list of arguments
    {
      name: string;          // Argument identifier
      description?: string;  // Argument description
      required?: boolean;    // Whether argument is required
    }
  ]
}

how to use:

git clone <repo_path>

cd

安装 uv

https://docs.astral.sh/uv/getting-started/installation/

uv run script.py

上面的指令会自动安装对应的环境到(./.venv)当前文件夹下,实际上在cline中配置mcp server的时候会自己运行uv相关的内容,如果没有环境,会自动根据项目下的

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.