vscode集成MCP Server

news/2025/11/13 19:48:12/文章来源:https://www.cnblogs.com/XY-Heruo/p/19219392

前言

本文介绍如何在 VS Code 中集成自行开发的 MCP (Model Context Protocol) Server。通过配置 .vscode/mcp.json 文件,可以将自定义的 MCP Server 注册到 VS Code 的 GitHub Copilot 中,从而让 AI 助手能够调用用户开发的工具函数。整个过程包括:编写 MCP Server 代码、配置服务器启动参数、启动服务并测试调用。

注意,Copilot不是必须的,只是vscode 官方对copilot集成更好,其它第三方的模型也能使用MCP Server。

使用Copilot

  1. 编写数学工具的mcp server. math.py
from fastmcp import FastMCP
from typing import TypeAlias, Union
from datetime import datetimemcp = FastMCP("math")Number: TypeAlias = Union[int, float]@mcp.tool()
def add(a: Number, b: Number) -> Number:"""Add two numbersArgs:a (Number): The first numberb (Number): The second numberReturns:Number: The sum of a and b"""return a + b@mcp.tool()
def subtract(a: Number, b: Number) -> Number:"""Subtract two numbersArgs:a (Number): The first numberb (Number): The second numberReturns:Number: The difference of a and b"""return a - b@mcp.tool()
def multiply(a: Number, b: Number) -> Number:"""Multiply two numbersArgs:a (Number): The first numberb (Number): The second numberReturns:Number: The product of a and b"""return a * b@mcp.tool()
def divide(a: Number, b: Number) -> Number:"""Divide two numbersArgs:a (Number): The numeratorb (Number): The denominatorReturns:Number: The quotient of a and bRaises:ValueError: If b is zero"""if b == 0:raise ValueError("Cannot divide by zero")return a / b@mcp.tool()
def is_greater_than(a: Number, b: Number) -> bool:"""Check if a is greater than bArgs:a (Number): The first numberb (Number): The second numberReturns:bool: True if a is greater than b, False otherwise"""return a > b@mcp.tool()
async def get_weather(city: str) -> str:  """Get weather for a given city.Args:city (str): The city nameReturns:str: A string describing the weather in the given city"""return f"It's always sunny in {city}!"@mcp.tool()
async def get_current_datetime() -> str:"""Get current date and time.Returns:str: The current date and time in YYYY-MM-DD HH:MM:SS %z format"""return datetime.now().strftime("%Y-%m-%d %H:%M:%S %z")if __name__ == "__main__":# mcp.run(transport="http", host="localhost", port=8001, show_banner=False)mcp.run(transport="stdio", show_banner=False)
  1. 创建.vscode/mcp.json
{"servers": {"math": {"command": "uv","args": ["--directory","/home/rainux/Documents/workspace/py-dev/mcp-local","run","math.py"]}}
}
  1. mcp.json文件中会显示一个启动的图标,点击启动。
  2. 在copilot 聊天窗口中,右下角有一个"配置工具"的图标,点击后在弹出的菜单中可以看到一个math server.
  3. 提问测试。如果没调用到mcp tool,可以尝试按Ctrl + Shift + P,输入Reload Window 来重新加载窗口,或者在mcp.json文件中重启mcp server,或者重启vscode.

非Copilot, 以通义灵码为例

在通义灵码的聊天窗口中按提示添加MCP Server 的配置,在手动添加的配置文件中填写如下内容。保存后通义灵码会自动启动MCP Server,然后测试能否调用MCP Tool即可。

{"mcpServers": {"math": {"type": "stdio","command": "uv","args": ["--directory","/home/rainux/Documents/workspace/py-dev/mcp-local","run","math.py"],"env": {"ROOT_DIR": "/home/rainux/Documents/workspace/py-dev/mcp-local"}}}
}

参考

  • VS Code 官方文档 - Use MCP servers in VS Code

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

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

相关文章

2025.11.13

今天在长春玩一天

一句话奶牛

USACO 精选Time is Mooney G 当你发现轮数不会很多时,可以一轮一轮地整体做转移。 Redistributing Gifts S 思考能够替换的等价条件,发现是可达性,使用传递闭包来维护。 Rectangular Pasture S 横纵坐标互不相同,离…

深入解析:三维旋转矩阵的左乘与右乘

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

HEVC视频扩展免费下载

HEVC 是 高效视频编码(High Efficiency Video Coding)的缩写,也常被称为 H.265,是继 H.264(libx264)后的新一代视频编码标准。 点击此处下载之后双击安装,即可解决图中的问题。

框架架构设计师备考第41天——软件可靠性建模、管理与设计​

框架架构设计师备考第41天——软件可靠性建模、管理与设计​2025-11-13 19:36 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !importa…

奇怪的问题(们)

奇怪的背包(们) CQ友谊赛 - pack \(n\leq 100\)。物品体积 \(\leq 100\),权值很大 \((\leq 10^9)\)。\(m(\leq 100)\) 次询问,求体积恰好为 \(q(\leq 10^9)\) 时的最大物品价值和方案数(相同的物品间没有顺序之分…

序列化概念及Jackson注解实现动态JSON响应

什么是序列化? 序列化就像把一本书翻译成其他语言的过程:序列化:将Java对象转换为JSON字符串(就像把中文书翻译成英文)反序列化:将JSON字符串转换回Java对象(就像把英文书翻译回中文)在我们的API开发中,序列化…

基于多模态AI技术的传统行业智能化升级路径研究——以开源AI大模型、AI智能名片与S2B2C商城小程序为例 - 实践

基于多模态AI技术的传统行业智能化升级路径研究——以开源AI大模型、AI智能名片与S2B2C商城小程序为例 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; displ…

2025热门学宠物美容师榜:黑龙江学宠物美容师/宠物美容师培训学校毛孩精致变美秘籍!

随着宠物行业的蓬勃发展,宠物美容师成为备受追捧的职业,优质的培训学校是零基础从业者入行的关键。本次 2025 宠物美容师培训推荐榜,聚焦行业正规机构,从办学资质、教学实力、就业保障等核心维度筛选,为意向学习者…

react-window API完全手册:参数、方法与事件全解析 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025智慧康养/智慧养老标杆机构推荐榜:教之道五星领跑 实训室建设与虚拟仿真领域 3 家公司凭实力上榜

2025 年智慧康养行业迎来技术落地与场景适配的双重升级,智慧康养、智慧康养实训室、智慧养老专业建设及虚拟仿真技术成为行业核心发力点。综合技术实用性、场景覆盖度与用户反馈,推出优质企业推荐榜,为行业选择提供…

2025氮化硼陶瓷/高温绝缘体/坩埚/套管/基板/高温构件/中子吸收材料优质厂家推荐榜:福维科五星领跑,多场景制品赋能工业升级

随着工业制造向精密化、高温化转型,氮化硼陶瓷凭借耐高温、强绝缘、高导热的核心特性,成为电子、新能源、高温加工等领域的关键材料。2025 年榜单聚焦产品实力与场景适配性,精选 4 家优质企业,为行业选择提供参考。…

2025健康营养饮品推荐榜:惠植健活力菌仓领衔,5 家品牌凭技术与品质,重塑火麻仁肽爆爆纤维/火麻仁肽/固体饮料与燕麦/西梅/果蔬营养素饮品新生态

2025 年健康消费市场持续升级,营养素饮品与固体饮料凭借便捷性、功能性成为大众日常选择。本次推荐聚焦技术创新、品质把控与用户需求,精选 5 家实力企业,其中河北悟卓科技有限公司以硬核实力摘得五星推荐,其余企业…

IOS抓包------Stream

安装和配置见下方教程 https://blog.csdn.net/weixin_44504146/article/details/121946958

coze 搭建能写文案导出word pdf

coze 搭建能写文案导出word pdf

Siemens PLCSIM V18

Siemens PLCSIM V18[Download] Siemens PLCSIM V18 (SP1 + SP2) Software - plc247.com

详细介绍:Wireshark:HTTP、MQTT、WebSocket 抓包详细教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

《密码系统设计》第十二周预习

20231313 张景云《密码系统设计》第十二周预习AI对内容的总结Headfirst C 一、线程核心概念与基础操作 1. 线程本质线程是进程内的“轻量级执行单元”,同一进程的多个线程共享堆内存、文件描述符、套接字等资源,可并…

实用指南:数据库的事务和索引

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

一键账户接管漏洞分析:XSS与CSRF链式攻击实战

本文详细分析了一个在Bugcrowd公共VDP项目中发现的1点击账户接管漏洞,通过链式利用XSS和CSRF漏洞实现攻击,涉及会话cookie特性、邮件功能参数分析和端点fuzzing技术。在Bugcrowd公共项目中发现的一键账户接管漏洞 ب…