Skip to content

MCP 服务器

了解如何在 VJSP 中使用模型上下文协议(MCP)模块,实现外部工具集成、数据库连接并扩展开发环境。

模型上下文协议(MCP)服务器通过运行 MCP 服务器,让 VJSP 能够连接外部工具、系统和数据库。

这些服务器支持以下功能:

  • 实现外部集成:对接外部工具与系统

  • 创建可扩展接口:支持自定义功能扩展

  • 支持复杂交互:与开发环境进行深度联动

  • 支持合作伙伴贡献:接纳第三方专属功能模块

如何在 VJSP 中配置模型上下文协议(MCP)

MCP 的使用与自定义配置

随着人工智能系统的不断发展,它们仍受限于训练数据,无法获取实时信息或调用专业工具。模型上下文协议(MCP)Model Context Protocol 解决了这一问题,它让 AI 模型能够连接外部数据源、工具和环境。这一机制实现了 AI 系统与更广泛数字世界之间的顺畅信息共享与能力互通。该标准由 Anthropic 推出,统一了提示词、上下文和工具调用的交互逻辑,是构建真正实用的 AI 体验的核心 —— 这类体验可通过自定义工具灵活配置。

MCP 在 VJSP 中的工作原理

目前,可通过模型上下文协议标准配置自定义工具,实现提示词、上下文与工具使用的统一管理。

可通过 mcpServers 字段将 MCP 服务器添加到中心配置中。你可以在 此处 浏览可用的 MCP 服务器。

ⓘ MCP 仅支持在 智能体(agent) 模式下使用。

快速入门:配置你的首个 MCP 服务器

以下是配置新 MCP 服务器并应用于配置文件的快速示例:

  1. 在工作区根目录创建名为 .vjsp/mcpServers 的文件夹

  2. 向该文件夹中添加文件 playwright-mcp.yaml

  3. 写入以下内容并保存

yaml
name: Playwright mcpServer
version: 0.0.1
schema: v1
mcpServers:
  - name: 浏览器搜索
    command: npx
    args:
      - "@playwright/mcp@latest"

现在,输入以下指令测试你的 MCP 服务器:

plaintext

打开浏览器并访问 百度新闻。

如何通过 MCP 配置文档搜索

你可以配置 MCP 服务器,直接从配置中搜索文档。这对于获取配置和功能相关帮助尤为实用。

VJSP 文档 MCP 服务器允许你在智能体对话中,直接搜索并获取 VJSP 文档的相关信息。

配置步骤

配置 VJSP

  1. 在工作区根目录创建名为 .vjsp/mcpServers 的文件夹

  2. 向该文件夹中添加文件 vjsp-docs-mcp.yaml

  3. 写入以下内容并保存:

yaml
name: VJSP 文档 MCP
version: 0.0.1
schema: v1
mcpServers:
  - uses: dev/vjsp-docs-mcp

启用智能体(Agent)模式

MCP 服务器仅在智能体模式下生效。测试前请确保在 VJSP 中切换至智能体模式。

使用示例

配置完成后,可通过以下方式使用 MCP 服务器搜索 VJSP 文档:

模型配置相关帮助

plaintext
如何在 VJSP 中从 Bedrock 添加 Claude 4 Sonnet 作为模型?

上下文提供器相关查询

plaintext
VJSP 支持哪些上下文提供器?

自定义配置相关查询

plaintext
如何在 VJSP 的配置中添加自定义规则?

内置工具配置说明

工具说明
read_file若需查看已有文件内容,可使用此工具。
creat_new_file创建新文件夹。仅在文件不存在且需要创建时使用。
run_terminal_command在当前目录中运行终端命令。Shell 无状态,不会记录之前的命令。若在后台运行命令,务必建议使用 Shell 函数包装命令,并以 sh -c '...' 格式将其放在 Shell 命令块中。请勿执行需要特殊终端权限的操作,选择针对 x86 和 arm64 框架优化的终端命令脚本,以及 Shell 语法。
file_glob_search使用通配符模式在项目中递归搜索文件。支持 "*" 用于递归目录搜索。不会显示大量构建、缓存、密钥类文件(改用cache工具)。输出可能被截断,请使用精准的匹配模式。
view_diff查看当前工作内容的差异。
read_currently_open_file读取 IDE 中当前打开的文件。若用户提及你无法查看的文件,或请求操作的内容似乎缺失,可尝试使用此工具。
ls列出指定目录下的文件和文件夹。
creat_rule_block创建可在后续对话中引用的“规则”。当你想要建立需一致遵循的代码规范/偏好,或希望避免重复犯错时,可使用此工具。若要修改已有规则,请改用 edit 工具。
规则类型:
Always :仅包含“rule”(始终纳入模型上下文)
Auto Attached :包含“rule”“glob”和/或“regex”(当文件匹配模式时触发)
Agent Requested:包含“rule”和“description”(由 AI 根据描述决定是否应用)
Manual:仅包含“rule”(仅在手动调用时纳入......)
fetch_url_content可通过 URL 查看网站内容。请勿用于文件。
request_rule使用此工具检索包含更多上下文/指令的额外“规则”(基于其描述)。可用规则:无可用规则。
search_web执行网络搜索并返回顶部结果。请谨慎使用 —— 仅用于需要专业、外部和/或最新知识问题。普通编程问题不需要网络搜索。
multi_edit使用此工具对单个文件执行多次编辑操作,可高效完成多个查找替换操作。若要对文件执行多次编辑,请提供以下内容:
文件路径:要修改的文件路径(相对于项目工作区根目录,需验证目录是否存在)
编辑内容:要执行的编辑操作数组,每个操作包含:
    old_string:要替换的文本(必须精准匹配目标内容,包括所有空格/缩进)
    new_string:替换 old_string 的文本
(触发方式:先询问)
grep_search使用 ripgrep 在仓库中执行这个正则表达式搜索。不会包含大量构建、缓存、密钥类文件的结果。输出可能被截断,请使用精准的查询条件。

问题排查

MCP 服务器未加载

  1. 检查配置文件:确保 YAML 配置中 uses 字段正确设置为 dev/vjsp-docs-mcp

  2. 确认模式切换:MCP 服务器仅支持智能体模式,需切换后使用

  3. 重启 VJSP:尝试重启 VJSP 扩展程序

无搜索结果返回

  1. 验证网络连接:MCP 服务器需要联网才能搜索文档

  2. 调整查询格式:尝试重新组织搜索语句的表述方式

  3. 测试已知主题:搜索文档中已明确覆盖的功能(如“模型配置”)进行验证

如何配置 MCP 服务器

如需搭建自定义 MCP 服务器,请先阅读 MCP 快速入门文档,然后 创建 mcpServers 配置,或在你的 配置文件 中添加本地 MCP 服务器配置块:

yaml
# ...
mcpServers:
  - name: SQLite MCP
    command: npx
    args:
      - "-y"
      - "mcp-sqlite"
      - "/path/to/your/database.db"  # 你的数据库文件路径
# ...

ⓘ 若在 .vjsp/mcpServers/ 目录中创建独立的配置文件,需包含必要的元数据字段(nameversionschema),如上述快速入门示例所示。

MCP 服务器属性配置说明

MCP 组件包含几个专用于 MCP 服务器的附加属性:

  • name:MCP 服务器的显示名称

  • type:MCP 服务器类型,可选值为 ssestdiostreamable-http

  • command:启动 MCP 服务器的命令

  • args:传递给启动命令的参数

  • env:注入到命令中的环境变量(用于存储密钥等敏感信息)

如何选择 MCP 传输类型

MCP 目前支持基于 HTTP 的传输方式实现远程服务器连接,突破了传统本地标准输入输出(stdio)传输的限制。这一特性支持集成云托管 MCP 服务器和分布式架构。

如何使用服务器发送事件(SSE)传输

如需实时流式通信,可使用 SSE 传输方式:

yaml
# ...
mcpServers:
  - name: 服务器名称
    type: sse
    url: https://....  # 远程 SSE 服务器地址
# ...

如何使用标准输入 / 输出(stdio)传输

对于通过标准输入输出进行通信的本地 MCP 服务器:

yaml
# ...
mcpServers:
  - name: 服务器名称
    type: stdio
    command: npx
    args:
      - "@modelcontextprotocol/server-sqlite"
      - "/path/to/your/database.db"  # 你的数据库文件路径
# ...

如何使用流式 HTTP 传输

如需支持流式传输的标准 HTTP 通信:

yaml
# ...
mcpServers:
  - name: 服务器名称
    type: streamable-http
    url: https://....  # 远程 HTTP 服务器地址
# ...

这些远程传输选项允许你连接到部署在远程基础设施上的 MCP 服务器,支持更灵活的部署架构,并实现多个客户端共享服务器资源。

如何在 MCP 服务器中管理密钥

部分 MCP 服务器需要使用 API 密钥或其他敏感信息。你可以利用本地存储的环境密钥,也可以访问 Agent Hub 中托管的密钥。如需使用 Hub 密钥,可在 MCP 的 env 配置块中使用 inputs 属性替代 secrets

yaml
# ...
mcpServers:
  - name: Supabase MCP
    command: npx
    args:
      - -y
      - "@supabase/mcp-server-supabase@latest"
      - --access-token
      - ${{ secrets.SUPABASE_TOKEN }}
    env:
      SUPABASE_TOKEN: ${{ secrets.SUPABASE_TOKEN }}
  - name: GitHub
    command: npx
    args:
      - "-y"
      - "@modelcontextprotocol/server-github"
    env:
      GITHUB_PERSONAL_ACCESS_TOKEN: ${{ secrets.GITHUB_PERSONAL_ACCESS_TOKEN }}
# ...