Datawhale 2025 AI夏令营 MCP Server Task2

魔搭MCP &Agent赛事(MCP Server开发)/夏令营:动手开发MCP Server学习链接:魔搭MCP &Agent赛事(MCP Server开发) - Datawhale

Task1回顾

1.task1应用功能

luner_info每日黄历
这是一个可以获取某天黄历情况的MCP,你可以输入空或日期获取当日或某日的黄历。日期格式形如:1991年1月1日或1991-01-01。
获取得到的回答如下:
日期 : 2025-07-01 00:00:00 农历 : 二零二五 乙巳[蛇]年 六月大初七 星期 : 星期二 八字 : 乙巳 壬午 辛未 戊子 今日节气: 无 下一节气: ('小暑', (7, 7), 2025) 季节 : 仲夏 生肖冲煞: 羊日冲牛 星座 : 巨蟹座 吉神方位: ['喜神西南', '财神正东', '福神西北', '阳贵东北', '阴贵正南'] 宜 : ['祭祀', '出行', '宴会', '沐浴', '剃头', '修造', '上表章', '上官', '进人口', '竖柱上梁', '经络', '纳财', '扫舍宇', '栽种', '牧养', '破土', '安葬', '祈福', '恤孤茕', '举正直', '裁制', '纳采', '搬移', '招贤', '宣政事', '覃恩', '施恩', '安抚边境', '解除', '求嗣', '整手足甲', '庆赐', '修仓库', '立券交易', '选将', '营建', '上册', '出师', '临政', '纳畜', '缮城郭', '整容', '颁诏', '雪冤'] 忌 : ['畋猎', '取鱼']

2.MCP上传流程

在task1进行对lunar_info黄历应用进行复刻后,了解了在魔搭上搭建MCP的过程。
1.创建一个创空间,上传应用代码
2.通过API使用,点击MCP,将sse链接和npx的安装链接保存好备用

3.在MCP Inspector · 创空间这个测试界面进行测试,使用sse方式连接。连接成功才能往后正常使用
4.MCP 详情 · 魔搭社区在这个链接进行MCP服务的部署,交给魔搭平台托管
如果需要参赛,中文名称中一定要带上“MCP&Agent挑战赛”,才算参赛~

(1)选择自定义创建
(2)来源地址输入自己创空间的网址

(3)托管类型选择可托管部署
(4)将npx的链接粘贴至服务配置区域
(5)自行补充其他未填入的内容

5.获取SSE URL连接服务,复制临时链接,到MCP Playground的配置区域,全选替换,自己的MCP就添加成功了。

回到试验场窗口,进行试用,看是否正确调起了自己的mcp工具,效果如何

MCP Playground:MCP Playground · 创空间

MCP 开发要点

1.什么是MCP?

MCP协议是AI时代的“HTTP协议” 就像互联网上的HTTP协议统一了网页的访问方式一样,MCP旨在成为AI世界的基础通信协议。MCP Server 就是 ”AI互联网“ 上的一个“网站”,给AI提供特定的服务。

2.为什么推荐用Gradio来搭建MCP Server?

目前搭建mcp server的方法有很多,可以直接使用Python的mcp库或者fastmcp库,搭建mcp服务后本地调用。

如果需要部署到云,目前可以部署到pipy平台或者云服务器上。

但是在pipy平台由于网络问题,不方便国内用户直接使用。

部署在云上可以在自有云或托管云平台,自有云上会面临网络配置等问题,对于新手也不太友好。

有些小伙伴甚至没有自己的云服务器。所以我们推荐把目标放在托管云平台。

使用gradio快速搭建MCP服务,既解决了MCP云服务平台的问题,整体的搭建也不是很复杂,代码量少而且很好玩,大家可以在20分钟快速搞定一个自己的mcp。

3.MCP 开发要点

  1. 明确输入输出: 这是MCP Server设计的核心。你的函数需要清晰地定义接受什么参数(输入)和返回什么结果(输出)。例如,黄历查询的输入是一个日期字符串,输出是黄历信息字符串。

  2. 准确的MCP声明(Docstring): 函数的Docstring必须准确、完整地描述其功能、参数类型、描述和返回值。大模型会依赖这些信息来理解和调用你的工具,如果声明不准确,大模型可能无法正确调用。

  3. 功能实现: 编写实际的Python代码来实现MCP Server的核心逻辑。这可能涉及调用第三方API(使用requests库)、进行数据处理(使用pandas库)、或执行特定计算。

  4. 异常处理: 考虑各种可能出现的异常情况(如无效输入、网络请求失败、API调用错误),并使用try-except块进行适当的错误处理,以提高MCP Server的稳定性和鲁棒性。

  5. 依赖管理: 确保你的requirements.txt文件包含了所有必要的Python库(例如gradio, requests等),以便在魔搭创空间部署时能够正确安装。

Task2 过程

1.选题

初步设定为:疯狂星期四文案生成器

(1)选题原因:
与lunar_info的用法是比较相似的,在示例代码上直接进行修改即可:

lunar_info:
输入:一个日期

输出:固定格式的,与输入日期相关的答案

疯狂星期四:
输入:待设计

输出:返回一段疯狂星期四文案

(2)大模型目前生成的这类型的文案没有那味。可能需要一个非常好的提示词才能有效果。


prompt:给我写一个疯狂星期四的文案

deepseek

那年我18岁,第一次进城打工。在工地扛水泥,一袋50斤,一天扛200袋。老板说干满一个月给3000块。我咬着牙干,手上磨得全是血泡,夜里疼得睡不着。月底去要钱,工头却卷款跑了。

我蹲在霓虹闪烁的街头,兜里只剩3个钢镚。手机欠费,联系不上家里。饿得眼前发黑时,闻到一阵香味……是街角肯德基!金黄酥脆的炸鸡,滋滋冒油。我扒着玻璃窗看别人大快朵颐,口水混着眼泪往下掉。

突然有人拍拍我肩,是个穿西装的大哥。他塞给我一张50元钞票:“小兄弟,吃顿饱饭吧。” 我攥着钱冲进店里,却看到海报上写着——

🔥疯狂星期四🔥 原味鸡+黄金脆皮鸡+薯条+可乐= 29.9元!

我捏着皱巴巴的50块愣在原地,泪水再次决堤…

所以今天,谁请我吃?V我50,我替你传递这份爱。

豆包

🔥肯德基疯四警报拉响!🔥​

今日份快乐已炸至金黄 ——​

香辣鸡翅买一送一还冒热气​

脆皮炸鸡啃到指尖流油才够本​

冰阔落吨吨灌进喉咙的瞬间​

所有烦恼都被酥脆咔嚓声碾碎​

⏰倒计时 8 小时清空库存​

错过今天?​

你的胃要等整整 7 天才能再撒野​

现在冲门店 / 戳小程序​

让炸鸡的香气替你宣告:​

星期四,就该对自己好一点!​

#疯四文学照进现实 #不吃炸鸡会疯

2.开发过程

去网上寻找一些疯狂星期四的文案,经过处理,转换为json格式。
利用AI编程软件,告知MCP声明,让他根据json文件,帮我写代码。

MCP声明(Docstring)

"""

Get a random Crazy Thursday reference and suggestions from the JSON file.

    Args:

        category: The category to select from. Options: "随机"

    Returns:

        A formatted string with reference text and modification suggestions

    """

内部代码逻辑是基本一致的

3.遇到的问题与解决

代码写完上传至创空间,发现创空间可用,但是测试mcp服务时显示未连接。
然后再比对baseline,怀疑多了这个json文件可能是出错的原因。(暂未弄清楚具体是啥原因)

将json直接写进app.py,成为app_2.py,再次上传,解决问题,可以正常使用。

后续该做什么

1.优化 MCP声明(Docstring)
2.设计更合理的功能,不要光有随机召回这么一回事,并做好异常情况

3.寻找更多文案

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/90858.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/90858.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

敏捷开发方法全景解析

核心理念:敏捷开发是以快速响应变化为核心的项目管理方法论,通过迭代式交付、自组织团队和持续反馈,实现高质量软件的高效交付。其本质是拥抱变化优于遵循计划,强调"可工作的软件高于详尽的文档"。 一、敏捷核心思想体系 #mermaid-svg-y7iyWsQGVWn3IpEi {font-fa…

Socket到底是什么(简单来说)

简单来说: Socket 抽象了网络通信的复杂底层细节,让应用程序开发者可以专注于发送和接收数据,而不用去操心数据在网络上是如何传输的。 它就像一个“黑盒子”,你只需要把数据扔进去,或者从里面取数据,至于数…

linux系统mysql性能优化

1、系统最大打开文件描述符数查看限制 ulimit -n更改配置 # 第一步 sudo vim /etc/security/limits.conf* soft nofile 1048576 * hard nofile 1048576# 第二步 sudo vim /etc/sysctl.conffs.file-max 1048576# 第三步(重启系统) sudo reboot验证生效 u…

免费的需要尝试claude code的API安利,截至今天可用(7月13号)

安装方法放最后(很简单,但是你得搞定网络) 注册如下: 链接如下(有详细说明): 🚀 AnyRouter|Claude Code 免费共享平台 安装(windows用户特殊点&#xff0…

Java 属性配置文件读取方法详解

Java 属性配置文件读取方法详解 一、配置文件基础概念 1. 配置文件类型对比类型格式优点缺点适用场景Propertieskeyvalue简单易读,Java原生支持不支持层级结构简单配置,JDBC参数XML标签层级结构结构化强,支持复杂数据类型冗余,解析…

NW728NW733美光固态闪存NW745NW746

美光NW系列固态闪存深度解析:NW728、NW733、NW745与NW746的全方位评测技术架构与核心创新美光NW系列固态闪存(包括NW728、NW733、NW745、NW746)的技术根基源于其先进的G9 NAND架构。该架构通过5纳米制程工艺和多层3D堆叠技术,在单…

【面试八股文】2025最新软件测试面试

一、测试基础 1、测试策略或测试包括哪些,测试要覆盖哪些方面 UI、功能、性能、可靠性、易用性、兼容性、安全性、安装卸载 2、设计测试用例的办法 等价类、边界值、错误推测法、场景法等设计方法来编写测试用例的 (1)等价类分为有效等价…

AI软件出海SEO教程

一、出海SEO核心思路 本地化:内容、技术、用户体验全面适应目标市场。关键词策略:围绕目标用户的真实搜索习惯做关键词挖掘和布局。内容为王:持续输出高质量、解决用户痛点的内容。技术优化:保证网站速度、结构、移动端体验及安全…

PyVision:基于动态工具的具身智能体

论文地址: [2507.07998v1] PyVision: Agentic Vision with Dynamic Tooling 1. 背景 现有的智能体一般都是通过大模型规划调用已经预定义好的一些工具(具体来说也就是一些函数)来解决问题。这样就会导致在针对特征的任务上Agent去解决问题…

Higress 上架 KubeSphere Marketplace,助力企业构建云原生流量入口

随着企业数字化转型持续深化,云原生架构正逐渐成为构建现代应用的主流选择。而服务治理作为云原生落地的核心能力之一,急需更灵活、高效的解决方案。近日,AI 原生的 API 网关 Higress 正式上架 KubeSphere Marketplace,助力用户轻…

在LC480T上部署xapp1052

实验环境:LC480T加速卡 开发环境:windows11vivado2020 运行环境:ubuntu22.04 硬件电路:LC480T加速卡(xc7k480tffg1156-2) vivado工程文件下载:https://download.csdn.net/download/xiaolangyangyang/91349686 驱动及应…

TCP的socket编程

TCP客户端逻辑void Usage(const std::string & process) {std::cout << "Usage: " << process << " server_ip server_port" <<std::endl; } // ./tcp_client serverip serverport int main(int argc, char * argv[]) {if (ar…

【理念●体系】模板规范篇:打造可标准化复用的 AI 项目骨架

【理念●体系】从零打造 Windows WSL Docker Anaconda PyCharm 的 AI 全链路开发体系-CSDN博客 【理念●体系】Windows AI 开发环境搭建实录&#xff1a;六层架构的逐步实现与路径治理指南-CSDN博客 【理念●体系】路径治理篇&#xff1a;打造可控、可迁移、可复现的 AI 开…

Skia---渐变色着色器

今天介绍的是实际工作中最常用到的着色器&#xff1a;渐变色着色器。 渐变色着色器是一个从一种颜色平滑的过渡到另一种颜色的效果&#xff0c;渐变色着色器的作用主要是增强图形的视觉吸引力。 线性渐变 Skia 里的线性渐变色着色器是最简单的渐变色着色器&#xff0c;它用于…

2025.07.09华为机考真题解析-第二题200分

📌 点击直达笔试专栏 👉《大厂笔试突围》 💻 春秋招笔试突围在线OJ 👉 笔试突围OJ 02. 地铁线路故障预警系统 问题描述 LYA 负责管理一个城市的地铁网络系统。地铁网络由 n n n

数学建模:非线性规划:凸规划问题

一、定义凸集定义​​&#xff1a;设Ω是n维欧氏空间的一点集&#xff0c;若任意两点x₁∈Ω&#xff0c;x₂∈Ω&#xff0c;其连线上的所有点αx₁(1-α)x₂∈Ω&#xff0c;(0≤α≤1)&#xff0c;则称Ω为凸集。​​凸函数定义​​&#xff1a;给定函数f(x)(x∈D⊂Rⁿ)&…

ISIS | 广播网络中的 ISIS 伪节点 LSP

注&#xff1a;本文为 “ISIS | 伪节点 LSP” 相关合辑。 英文引文&#xff0c;机翻未校。 中文引文&#xff0c;略作重排。 如有内容异常&#xff0c;请看原文。 ISIS in Broadcast Network and Pseudonode LSP 广播网络中 的 ISIS 伪节点 LSP ISIS in broadcast network is…

ARIA UWB安全雷达主要产品型号与核心功能全解析

ARIA UWB雷达拥有LT系列与AHM系列两大产品线。LT103 XBT、LT102 V2、LT103 OEM等代表型号具备高精度定位、低功耗和强穿透能力&#xff0c;适用于工业自动化与物联网。AHM3D、AHM2D、AHM3DSC则专注三维检测和智能计算&#xff0c;广泛服务于医疗健康、安防监控等场景。Hydrogen…

NLP自然语言处理04 transformer架构模拟实现

总体架构输入部分代码实现:导包# -*-coding:utf-8-*- import matplotlib.pyplot as plt import numpy as np import torch import torch.nn as nn # -*-coding:utf-8-*- import copy import torch.nn.functional as F import math位置编码器部分词嵌入WordEmbedding# todo 作用…

记录一本书: Python机器学习:基于PyTorch和Scikit-Learn

记录一本书&#xff1a; Python机器学习&#xff1a;基于PyTorch和Scikit-Learn 作者&#xff1a;&#xff08;美&#xff09;塞巴斯蒂安拉施卡(Sebastian Raschka)&#xff08;美&#xff09;刘玉溪&#xff08;海登&#xff09;(Yuxi(Hayden)Liu) &#xff08;美&#xff09;…