MCP服务

更新时间:2025-04-18 02:35:12

Function AI支持完整的MCP开发能力,您可以通过Function AI内置的MCP服务模板快速体验部署或基于空白项目自定义部署MCP服务。当MCP服务部署完成后,平台会生成一个SSE连接地址,并且会生成MCP服务的Schema用于测试。

创建MCP服务

方式一:通过模板一键部署MCP服务

  1. 登录Function AI控制台,在探索页面,勾选MCP Server模板分类,选择任意一个MCP模板,单击模板所在卡片。本文以Amap Maps为例。

    image

  2. 在模板详情页面,单击立即部署,进入服务配置页面,填写从高德开放平台获取的API-KEY,然后单击部署项目

    image

方式二:基于空白项目创建自定义MCP服务

  1. 登录Function AI控制台,在项目页面,选择创建项目 > 创建空白项目,然后自定义名称和描述。

  2. 单击空白项目,在项目部署页面,选择新建服务 > MCP 服务

  3. MCP服务配置页面,设置以下选项,然后单击预览&部署

    • MCP服务配置

      配置项

      说明

      配置项

      说明

      传输类型

      支持托管STDIOSSE协议的MCP服务。如果MCP服务代码采用STDIO协议,Function AI会启动一个SSE服务来代理STDIO的请求,客户端访问需要使用SSE方式。

      开启鉴权

      开启鉴权后,Function AI平台会为MCP服务生成一个只读的Bearer Token,使用此Bearer Token可以让您的MCP服务自带鉴权能力。

      运行环境

      使用官方提供Node.jsPython运行时,无需修改代码即可实现一键云上托管MCP服务。

      选择仓库

      • 使用平台内置代码包

        您可以使用Function AI平台内置的运行时代码包Hello World,简化部署流程。后续可以在目标服务页面的WebIDE页签在线编写和调试代码。

      • 绑定代码仓库进行持续部署

        您也可以绑定代码仓库托管MCP服务,本文以GitHub仓库为例,绑定Git仓库后,如果指定的分支有push操作,会自动触发服务的持续部署。

        参数说明如下:

        • 构建环境:对于多语言的工程,可以选择多个构建环境。

        • 构建命令:npm buildpip install -r requirements.txt

        • 构建缓存:可选,Node.js、PythonJava运行环境的缓存目录分别可以设置为~/.npm~/.cache~/.m2

        image

    • 资源配置

      配置项

      说明

      配置项

      说明

      实例规格

      根据业务情况,选择或手动输入合理的资源项规格组合。

      弹性策略

      • 标准模式

        成本最优模式,此模式下函数计算系统自动为函数分配和释放实例,支持实例缩容至0。适用于流量无明显规律且波动较大的场景,需要接受一定程度的冷启动。

      • 极速模式

        成本与性能均衡模式,有效避免了冷启动问题,此模式可以通过设置预置快照数提前锁定弹性资源,实现极速弹性伸缩。并且只有在处理请求时才会产生vCPU使用费用,实现性能和成本的平衡。适用于对延迟较敏感的场景。

      image

      说明

      由于MCP SSE请求依赖于session会话机制,若同一个session id的请求被分配到不同实例会导致上下文丢失,因此建议开启极速模式,并预置1个快照,实例限额设置为1,确保SSE请求优先分配至同一实例,降低SSE请求分配到不同弹性实例的概率。

测试MCP服务

MCP服务部署完成后,平台会生成一个SSE连接地址,用于MCP服务连接测试。您可以通过Function AI控制台进行测试,或使用官方的Inspector进行本地测试。

方式一:Function AI控制台测试

  1. 在上一步创建的MCP服务详情页面,选择服务测试页签,单击测试连接测试成功后单击测试工具进行测试。

    image

  2. 测试成功后,选择监控日志页签查看服务测试结果。

方式二:Inspector本地测试

  1. 在上一步创建的MCP服务详情页面,选择访问地址页签,获取公网访问地址

    image

  2. 执行以下命令,本地启动inspector工具。

    npx @modelcontextprotocol/inspector
  3. inspector工具界面的URL输入框,填写获取的公网访问地址进行测试。

    image

变量管理

MCP服务通常需要访问第三方服务,例如高德地图或GitHub等,因此需要使用访问密钥,例如API-KEYToken,这些密钥信息建议以环境变量加载或者启动命令参数注入。Function AI平台提供了变量管理功能,支持敏感变量托管,可以实现MCP服务访问密钥的安全可靠管理。更多关于变量的信息,请参见管理变量

配置服务变量

image

加载服务变量

方式一:通过系统环境变量读取

Function AI平台配置的服务变量默认注入到函数启动的环境变量中,MCP服务代码可以直接通过系统环境变量读取。

image

方式二:通过启动参数注入

Function AI平台配置的服务变量支持通过${self.变量名称}的方式引用,您可以在启动命令中修改命令行参数,在启动阶段注入变量的值。

image

  • 本页导读
  • 创建MCP服务
  • 方式一:通过模板一键部署MCP服务
  • 方式二:基于空白项目创建自定义MCP服务
  • 测试MCP服务
  • 方式一:Function AI控制台测试
  • 方式二:Inspector本地测试
  • 变量管理
  • 配置服务变量
  • 加载服务变量
AI助理

点击开启售前

在线咨询服务

你好,我是AI助理

可以解答问题、推荐解决方案等