听说 mcp 的鉴权,是件很麻烦的事情?估计是没选好工具。
一、MCP Client 侧(负责传递,比较简单)
在客户端,一般是使用 queryString 或者 header 或者 env(stdio 方式用) 传递鉴权信息,比如变量:token(名字随便取)
(1)常见的 mcpServers json 配置方式
不同服务平台,mcpServers json 的配置格式可能会略有不同。具体需要按服务平台要求配置。
- 使用 queryString 传递(http 类传输方式)
{
"mcpServers": {
"demo": {
"type":"sse"
"url": "https://localhost:8080/mcp?token=xxxx"
}
}
}
- 使用 header 传递(http 类传输方式)
{
"mcpServers": {
"demo": {
"type":"streamable",
"url": "https://localhost:8080/mcp",
"headers": {
"token":"xxx"}
}
}
}
- 使用 env 传递(stdio 传输方式)
{
"mcpServers": {
"demo": {
"type":"stdio",
"command":"java",
"args": ["-jar", "/data/demo/target/demo-mcp-stdio.jar"]
"env": {
"token": "xxx"}
}
}
}
(2)使用 solon-ai-mcp 作为客户端
solon-ai-mcp 是比较简洁的 mcp java client 框架。它的体验与 mcpServers json 配置相差不大。
- 使用 queryString 传递(http 类传输方式)
import org.noear.solon.ai.mcp.client.McpClientProvider;
McpClientProvider mcpClient


2103

被折叠的 条评论
为什么被折叠?



