# 连接 mcp 服务器

不同于 Claude Desktop 和其他的 MCP 客户端类产品，OpenMCP 进行 MCP 服务器连接的步骤是相当丝滑的。

:::info MCP客户端
MCP 客户端是指能够通过 MCP 协议进行通信的大模型对话客户端，通常是一个运行在本地的应用程序（因为网页没有文件IO的权限）。它的产品形式目前几乎都是聊天机器人的形式，类似于你在网页使用的 chat.deepseek.com 或者 chat.openai.com
:::

首先，打开你的 VLE，在 [[acquire-openmcp|获取 OpenMCP]] 中完成 OpenMCP 的安装后，我们先用 python 创建一个最简单的 mcp 服务器，来测试 mcp 客户端的连接。


## 使用 OpenMCP 一键连接

在 [[first-mcp|你的第一个 MCP]] 这个例子中，我们申明了三个函数，用作 mcp 的 tool，resource 和 prompt。在 OpenMCP 中启动它们非常简单，点击右上角的 OpenMCP 图标即可连接：

![](./images/connect-simple.png)


如果登录完成后，如图显示连接成功，则代表当前已经成功启动并连接 mcp 服务器。

![](./images/connect-success.png)

## STDIO 连接的启动

对于 STDIO 为连接选项的开发方案，我们提供了一键式的快速启动，您不需要额外启动 mcp 的进程。OpenMCP 会自动连接和销毁。

目前支持的编程语言和它们对应的启动参数为：

|语言|连接参数|启动目录|
|:-|:-|:-|
|python|uv run mcp run $\{file\} | 往上追溯，第一个找到的 pyproject.toml 的目录|
|nodejs|node $\{file\}| 往上追溯，第一个找到的 package.json 的目录|
|go|go run $\{file\}| 往上追溯，第一个找到的 go.mod 的目录|

## SSE & Streamable HTTP 连接的启动

对于 SSE 和 Streamable HTTP 这两种远程连接的方式，由于我们并不知道您到底在哪个端口启动的服务器（因为你有可能把启动的 host 和 port 写在不可见的配置文件里或者写在环境变量里），因此，对于远程连接的情况，我们不支持自动创建服务器，您需要手动配置启动选项。

点击 VLE 左侧插件栏目的 OpenMCP，在 「MCP 连接（工作区）」 视图中，点击 + ，就可以创建一个新的连接。

![](./images/add-connection.png)



选择你需要的通信方式。

![](./images/select-server-type.png)

输入MCP Server的地址。

![](./images/connect-sse.png)

:::info
需要注意的是，不同的通信方式一般使用不同endpoint，目前的MCP server大多遵循下面的原则：

如果是以 SSE 启动，那么默认使用 /sse 作为endpoint，比如 http://localhost:8001/sse

如果是以 Streamable Http 启动，那么默认使用 /mcp 作为endpoint，比如 http://localhost:8001/mcp

当然，允许MCP Server使用两个不同的endpoint同时支持两种连接方式，这对于想要迁移到Streamable Http但短时间又不能放弃SSE的情况特别有效
:::

## openmcp 插件的控制面板

在 VLE 的左侧可以找到 openmcp 的图标，点击后就是 openmcp 的控制面板。

![](./images/openmcp-control-panel.png)

当前工作区曾经连接过的 mcp 服务器会出现在这里，这是因为 openmcp 默认将工作区启动的 mcp 的连接信息存储在了 `.vscode/tabs.{server-name}.json` 中，其中 `{server-name}` 就是 mcp 服务器连接成功的服务器名称。

:::warning
注意，同一个项目中，你不应该有两个名字完全相同的 mcp 服务器，这会导致 `.vscode/tabs.{server-name}.json` 连接信息存储冲突，发生未知错误。
:::

如果你想要在任意工作区都能使用同一个 mcp 服务器，可以考虑在「安装的 MCP 服务器」中添加成熟耐用的 mcp 服务器，这个位置添加的 mcp 服务器全局可用。

在「入门与帮助」中，我们准备了一些可供入门的参考资料，还请阁下善加利用。
