diff --git a/README.md b/README.md index 4a33a094c576952879fc1ce2179ca08a57988f03..ee0480f5b1683ddc69dd0c93920326a82e6c1f4f 100644 --- a/README.md +++ b/README.md @@ -1,37 +1,61 @@ -# mcp-servers +# openEuler MCP Servers仓库,欢迎大家贡献 #### 介绍 -Stores public MCP Server files and works with DevStation and EulerCopilot to improve operating system interaction experience. +MCP是Model Context Protocol的缩写,旨在提供一个通用的大模型上下文协议,用来调用各种应用,拓展大模型能力,openEuler的mcp-servers仓库用来存放各种MCP Server,聚焦于操作系统领域,结合Devstation,EulerCopilot改善openEuler交互体验 #### 软件架构 -软件架构说明 +仓库目录带一个doc目录,用来存放整体的各类文档介绍,之后每个文件夹为一个独立的MCP Server +|----doc +|----oeDeploy +|----xxxxx +以oeDeploy为例,每个仓库顶层需要包含以下几个内容: +1、该MCP Server实现了哪些功能,如何使用该MCP Server能力 +2、MCP配置的json文件 +3、源码 -#### 安装教程 - -1. xxxx -2. xxxx -3. xxxx #### 使用说明 -1. xxxx -2. xxxx -3. xxxx - -#### 参与贡献 - -1. Fork 本仓库 -2. 新建 Feat_xxx 分支 -3. 提交代码 -4. 新建 Pull Request - - -#### 特技 +1、使用常用的MCP客户端完成配置如EulerCopilot,Roo Code,Cline等等 +2、将MCP Server的配置文件写入到MCP客户端 + +##### 未来openEuler 430版本: +openEuler社区会将每个MCP Server构建为一个个RPM包,用户直接yum install安装即可使用 + +#### 快速开始:如何使用MCP Python-SDK编写一个自己的MCP Server服务器 +##### 1、挑选一个小工具oegitext +oegitext是一个用来和gitee交互的小工具,可以用来查询在gitee上面的一些仓库和issue,查询一些PR信息: +![oegitext的使用方式](oegitext_show_issue_demo.png) +##### 2、使用python-sdk进行一个改造 +下面是代码的一个简单示例: +```python +import subprocess +from mcp.server.fastmcp import FastMCP + +mcp = FastMCP("查找openEuler社区的issue") + +@mcp.tool() +def get_my_openeuler_issue() -> str: + """统计我在openEuler社区所负责的issue""" + try: + # 执行oegitext命令并解析结果 + result = subprocess.check_output(['oegitext', 'show', 'issue', '-p'], + text=True, + stderr=subprocess.STDOUT) + + return result + except subprocess.CalledProcessError as e: + return e + except Exception as e: + return e + +if __name__ == "__main__": + # Initialize + mcp.run() +``` +##### 3、openEuler MCP环境搭建 +待补充,后续使用yum安装即可 +##### 4、MCP Client调用效果 +![oegitext使用MCP服务后效果](oegitext_mcp_demo.png) -1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md -2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) -3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 -4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 -5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) -6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/oegitext_mcp_demo.png b/oegitext_mcp_demo.png new file mode 100644 index 0000000000000000000000000000000000000000..25cb3cfe992e27220f1730631a280c73d88da574 Binary files /dev/null and b/oegitext_mcp_demo.png differ diff --git a/oegitext_show_issue_demo.png b/oegitext_show_issue_demo.png new file mode 100644 index 0000000000000000000000000000000000000000..495f99e900375f90a91de18f04a4e40627719983 Binary files /dev/null and b/oegitext_show_issue_demo.png differ