mirror of
https://github.com/alibaba/higress.git
synced 2026-02-27 14:10:51 +08:00
update mcp descriptions (#2105)
This commit is contained in:
@@ -28,7 +28,7 @@ On the user's MCP Client interface, add the generated SSE URL to the MCP Server
|
||||
```json
|
||||
"mcpServers": {
|
||||
"bravesearch": {
|
||||
"url": "http://mcp.higress.ai/mcp-brave-search/{generate_key}",
|
||||
"url": "http://mcp.higress.ai/mcp-bravesearch/{generate_key}",
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
```json
|
||||
"mcpServers": {
|
||||
"bravesearch": {
|
||||
"url": "http://mcp.higress.ai/mcp-brave-search/{generate_key}",
|
||||
"url": "http://mcp.higress.ai/mcp-bravesearch/{generate_key}",
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
@@ -4,9 +4,9 @@ server:
|
||||
apiKey: ""
|
||||
tools:
|
||||
- name: brave_web_search
|
||||
description: "使用Brave Search API进行网页搜索,适用于一般查询、新闻、文章和在线内容。支持分页、内容过滤和新鲜度控制。每次请求最多返回20条结果。"
|
||||
description: "使用Brave Search API进行网页搜索,适用于一般查询、新闻、文章和在线内容。支持分页、内容过滤和新鲜度控制。"
|
||||
args:
|
||||
- name: query
|
||||
- name: q
|
||||
description: "搜索查询(最多400字符,50个词)"
|
||||
type: string
|
||||
required: true
|
||||
@@ -20,6 +20,11 @@ tools:
|
||||
type: integer
|
||||
required: false
|
||||
default: 0
|
||||
- name: search_lang
|
||||
description: "搜索语言"
|
||||
type: string
|
||||
required: false
|
||||
enum: ["en", "zh-hans"]
|
||||
requestTemplate:
|
||||
url: "https://api.search.brave.com/res/v1/web/search"
|
||||
method: GET
|
||||
@@ -27,8 +32,6 @@ tools:
|
||||
headers:
|
||||
- key: Accept
|
||||
value: "application/json"
|
||||
- key: Accept-Encoding
|
||||
value: "gzip"
|
||||
- key: X-Subscription-Token
|
||||
value: "{{.config.apiKey}}"
|
||||
responseTemplate:
|
||||
@@ -39,38 +42,80 @@ tools:
|
||||
- **描述**: {{ $item.description }}
|
||||
- **URL**: {{ $item.url }}
|
||||
{{- end }}
|
||||
{{- if .locations.results }}
|
||||
{{- range $index, $item := .locations.results }}
|
||||
## 结果 {{add $index 1}}
|
||||
- **locationID**: {{ $item.id }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
- name: brave_local_search
|
||||
description: "使用Brave的Local Search API搜索本地商家和地点。适用于与物理位置、商家、餐厅、服务等相关的查询。返回详细信息包括商家名称、地址、评分、评论数、电话号码、营业时间等。如果没有本地结果,会自动回退到网页搜索。"
|
||||
- name: brave_local_search_pois
|
||||
description: "使用Brave Local Search API搜索本地POI(兴趣点)信息,包括名称、地址、电话、评分等信息。"
|
||||
args:
|
||||
- name: query
|
||||
description: "本地搜索查询(例如'Central Park附近的披萨')"
|
||||
type: string
|
||||
- name: ids
|
||||
description: "Location ID列表,通过brave_web_search获取"
|
||||
type: array
|
||||
required: true
|
||||
- name: count
|
||||
description: "结果数量(1-20,默认5)"
|
||||
type: integer
|
||||
- name: search_lang
|
||||
description: "搜索语言"
|
||||
type: string
|
||||
required: false
|
||||
default: 5
|
||||
default: "en"
|
||||
- name: search_lang
|
||||
description: "响应语言"
|
||||
type: string
|
||||
required: false
|
||||
default: "en-US"
|
||||
requestTemplate:
|
||||
url: "https://api.search.brave.com/res/v1/web/search"
|
||||
url: "https://api.search.brave.com/res/v1/local/pois"
|
||||
method: GET
|
||||
argsToUrlParam: true
|
||||
headers:
|
||||
- key: Accept
|
||||
value: "application/json"
|
||||
- key: Accept-Encoding
|
||||
value: "gzip"
|
||||
- key: X-Subscription-Token
|
||||
value: "{{.config.apiKey}}"
|
||||
responseTemplate:
|
||||
body: |
|
||||
{{- range $index, $item := .results }}
|
||||
## 结果 {{add $index 1}}
|
||||
## POI {{add $index 1}}
|
||||
- **名称**: {{ $item.name }}
|
||||
- **地址**: {{ $item.address.streetAddress }}, {{ $item.address.addressLocality }}, {{ $item.address.addressRegion }} {{ $item.address.postalCode }}
|
||||
- **电话**: {{ $item.phone }}
|
||||
- **评分**: {{ $item.rating.ratingValue }} ({{ $item.rating.ratingCount }} 条评论)
|
||||
- **评分**: {{ $item.rating.ratingValue }} ({{ $item.rating.ratingCount }} 条评价)
|
||||
- **价格范围**: {{ $item.priceRange }}
|
||||
- **营业时间**: {{ join $item.openingHours ", " }}
|
||||
{{- end }}
|
||||
|
||||
- name: brave_local_search_descriptions
|
||||
description: "使用Brave Local Search API获取本地POI的描述信息。"
|
||||
args:
|
||||
- name: ids
|
||||
description: "Location ID列表,通过brave_web_search获取"
|
||||
type: array
|
||||
required: true
|
||||
- name: search_lang
|
||||
description: "搜索语言"
|
||||
type: string
|
||||
required: false
|
||||
default: "en"
|
||||
- name: search_lang
|
||||
description: "响应语言"
|
||||
type: string
|
||||
required: false
|
||||
default: "en-US"
|
||||
requestTemplate:
|
||||
url: "https://api.search.brave.com/res/v1/local/descriptions"
|
||||
method: GET
|
||||
argsToUrlParam: true
|
||||
headers:
|
||||
- key: Accept
|
||||
value: "application/json"
|
||||
- key: X-Subscription-Token
|
||||
value: "{{.config.apiKey}}"
|
||||
responseTemplate:
|
||||
body: |
|
||||
{{- range $id, $desc := .descriptions }}
|
||||
## 描述 {{ $id }}
|
||||
{{ $desc }}
|
||||
{{- end }}
|
||||
|
||||
58
plugins/wasm-go/mcp-servers/mcp-librechat/README.md
Normal file
58
plugins/wasm-go/mcp-servers/mcp-librechat/README.md
Normal file
@@ -0,0 +1,58 @@
|
||||
# LibreChat MCP Server
|
||||
|
||||
An implementation of the Librechat Code Interpreter MCP server that follows the OpenAPI specification, providing code execution and file management capabilities.
|
||||
|
||||
## Features
|
||||
|
||||
- Supports code execution in multiple programming languages
|
||||
- Supports file upload, download and deletion
|
||||
- Provides detailed API response information
|
||||
|
||||
## Usage Guide
|
||||
|
||||
### Get API-KEY
|
||||
1. Register for a LibreChat account [Visit official website](https://code.librechat.ai)
|
||||
2. Manage your plan and then generate API Key through developer console.
|
||||
|
||||
### Generate SSE URL
|
||||
|
||||
On the MCP Server interface, log in and enter the API-KEY to generate the URL.
|
||||
|
||||
### Configure MCP Client
|
||||
|
||||
On the user's MCP Client interface, add the generated SSE URL to the MCP Server list.
|
||||
|
||||
```json
|
||||
"mcpServers": {
|
||||
"librechat": {
|
||||
"url": "http://mcp.higress.ai/mcp-librechat/{generate_key}",
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Available Tools
|
||||
|
||||
#### delete_file
|
||||
Delete specified file
|
||||
|
||||
Parameters:
|
||||
- fileId: File ID (required)
|
||||
- session_id: Session ID (required)
|
||||
|
||||
#### executeCode
|
||||
Execute code in specified programming language
|
||||
|
||||
Parameters:
|
||||
- code: Source code to execute (required)
|
||||
- lang: Programming language (required, options: c, cpp, d, f90, go, java, js, php, py, rs, ts, r)
|
||||
- args: Command line arguments (optional)
|
||||
- entity_id: Assistant/agent identifier (optional)
|
||||
- files: Array of file references (optional)
|
||||
- user_id: User identifier (optional)
|
||||
|
||||
#### get_file
|
||||
Get file information
|
||||
|
||||
Parameters:
|
||||
- session_id: Session ID (required)
|
||||
- detail: Detail information (optional)
|
||||
58
plugins/wasm-go/mcp-servers/mcp-librechat/README_ZH.md
Normal file
58
plugins/wasm-go/mcp-servers/mcp-librechat/README_ZH.md
Normal file
@@ -0,0 +1,58 @@
|
||||
# LibreChat MCP Server
|
||||
|
||||
一个基于OpenAPI规范的 LibreChat Code Interpreter MCP 服务器,提供代码执行和文件管理功能。
|
||||
|
||||
## 功能
|
||||
|
||||
- 支持多种编程语言的代码执行
|
||||
- 支持文件上传、下载和删除
|
||||
- 提供详细的API响应信息
|
||||
|
||||
## 使用教程
|
||||
|
||||
### 获取 API-KEY
|
||||
1. 注册LibreChat账号 [访问官网](https://code.librechat.ai)
|
||||
2. 在控制台界面选择付费计划,并创建 API Key
|
||||
|
||||
### 生成 SSE URL
|
||||
|
||||
在 MCP Server 界面,登录后输入 API-KEY,生成URL。
|
||||
|
||||
### 配置 MCP Client
|
||||
|
||||
在用户的 MCP Client 界面,将生成的 SSE URL添加到 MCP Server列表中。
|
||||
|
||||
```json
|
||||
"mcpServers": {
|
||||
"librechat": {
|
||||
"url": "http://mcp.higress.ai/mcp-librechat/{generate_key}",
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 可用工具
|
||||
|
||||
#### delete_file
|
||||
删除指定文件
|
||||
|
||||
参数:
|
||||
- fileId: 文件ID (必填)
|
||||
- session_id: 会话ID (必填)
|
||||
|
||||
#### executeCode
|
||||
执行指定编程语言的代码
|
||||
|
||||
参数:
|
||||
- code: 要执行的源代码 (必填)
|
||||
- lang: 编程语言 (必填,可选值:c, cpp, d, f90, go, java, js, php, py, rs, ts, r)
|
||||
- args: 命令行参数 (可选)
|
||||
- entity_id: 助手/代理标识符 (可选)
|
||||
- files: 文件引用数组 (可选)
|
||||
- user_id: 用户标识符 (可选)
|
||||
|
||||
#### get_file
|
||||
获取文件信息
|
||||
|
||||
参数:
|
||||
- session_id: 会话ID (必填)
|
||||
- detail: 详细信息 (可选)
|
||||
145
plugins/wasm-go/mcp-servers/mcp-librechat/mcp-server.yaml
Normal file
145
plugins/wasm-go/mcp-servers/mcp-librechat/mcp-server.yaml
Normal file
@@ -0,0 +1,145 @@
|
||||
server:
|
||||
name: librechat-api-server
|
||||
config:
|
||||
apiKey: ""
|
||||
tools:
|
||||
- name: delete_file
|
||||
description: Delete a file
|
||||
args:
|
||||
- name: fileId
|
||||
description: ""
|
||||
type: string
|
||||
required: true
|
||||
position: path
|
||||
- name: session_id
|
||||
description: ""
|
||||
type: string
|
||||
required: true
|
||||
position: path
|
||||
requestTemplate:
|
||||
url: https://api.librechat.ai/v1/files/{session_id}/{fileId}
|
||||
method: DELETE
|
||||
headers:
|
||||
- key: x-api-key
|
||||
value: "{{ .config.apiKey }}"
|
||||
responseTemplate: {}
|
||||
- name: executeCode
|
||||
description: Execute code - Execute code with specified language and parameters
|
||||
args:
|
||||
- name: args
|
||||
description: Optional command line arguments to pass to the program
|
||||
type: string
|
||||
position: body
|
||||
- name: code
|
||||
description: The source code to be executed
|
||||
type: string
|
||||
required: true
|
||||
position: body
|
||||
- name: entity_id
|
||||
description: Optional assistant/agent identifier for file sharing and reference. Must be a valid nanoid-compatible string.
|
||||
type: string
|
||||
position: body
|
||||
- name: files
|
||||
description: Array of file references to be used during execution
|
||||
type: array
|
||||
items:
|
||||
type: object
|
||||
position: body
|
||||
- name: lang
|
||||
description: The programming language of the code
|
||||
type: string
|
||||
required: true
|
||||
enum: ["c","cpp","d","f90","go","java","js","php","py","rs","ts","r"]
|
||||
position: body
|
||||
- name: user_id
|
||||
description: Optional user identifier
|
||||
type: string
|
||||
position: body
|
||||
requestTemplate:
|
||||
url: https://api.librechat.ai/v1/exec
|
||||
method: POST
|
||||
headers:
|
||||
- key: Content-Type
|
||||
value: application/json
|
||||
- key: x-api-key
|
||||
value: "{{ .config.apiKey }}"
|
||||
responseTemplate:
|
||||
prependBody: |+
|
||||
# API Response Information
|
||||
|
||||
Below is the response from an API call. To help you understand the data, I've provided:
|
||||
|
||||
1. A detailed description of all fields in the response structure
|
||||
2. The complete API response
|
||||
|
||||
## Response Structure
|
||||
|
||||
> Content-Type: application/json
|
||||
|
||||
- **files**: (Type: array)
|
||||
- **files[].id**: (Type: string)
|
||||
- **files[].name**: (Type: string)
|
||||
- **files[].path**: (Type: string)
|
||||
- **language**: (Type: string)
|
||||
- **run**: (Type: object)
|
||||
- **run.code**: (Type: integer)
|
||||
- **run.cpu_time**: (Type: number)
|
||||
- **run.memory**: (Type: integer)
|
||||
- **run.message**: (Type: string)
|
||||
- **run.output**: (Type: string)
|
||||
- **run.signal**: (Type: string)
|
||||
- **run.status**: (Type: string)
|
||||
- **run.stderr**: (Type: string)
|
||||
- **run.stdout**: (Type: string)
|
||||
- **run.wall_time**: (Type: number)
|
||||
- **session_id**: (Type: string)
|
||||
- **version**: (Type: string)
|
||||
|
||||
## Original Response
|
||||
|
||||
- name: get_file
|
||||
description: Get files information
|
||||
args:
|
||||
- name: detail
|
||||
description: ""
|
||||
type: string
|
||||
position: query
|
||||
- name: session_id
|
||||
description: ""
|
||||
type: string
|
||||
required: true
|
||||
position: path
|
||||
requestTemplate:
|
||||
url: https://api.librechat.ai/v1/files/{session_id}
|
||||
method: GET
|
||||
headers:
|
||||
- key: x-api-key
|
||||
value: "{{ .config.apiKey }}"
|
||||
responseTemplate:
|
||||
prependBody: |+
|
||||
# API Response Information
|
||||
|
||||
Below is the response from an API call. To help you understand the data, I've provided:
|
||||
|
||||
1. A detailed description of all fields in the response structure
|
||||
2. The complete API response
|
||||
|
||||
## Response Structure
|
||||
|
||||
> Content-Type: application/json
|
||||
|
||||
- **items**: Array of items (Type: array)
|
||||
- **items.content**: (Type: string)
|
||||
- **items.contentType**: (Type: string)
|
||||
- **items.etag**: (Type: string)
|
||||
- **items.id**: (Type: string)
|
||||
- **items.lastModified**: (Type: string)
|
||||
- **items.metadata**: (Type: object)
|
||||
- **items.metadata.content-type**: (Type: string)
|
||||
- **items.metadata.original-filename**: (Type: string)
|
||||
- **items.name**: (Type: string)
|
||||
- **items.session_id**: (Type: string)
|
||||
- **items.size**: (Type: number)
|
||||
|
||||
## Original Response
|
||||
|
||||
32
plugins/wasm-go/mcp-servers/mcp-wolframalpha/README.md
Normal file
32
plugins/wasm-go/mcp-servers/mcp-wolframalpha/README.md
Normal file
@@ -0,0 +1,32 @@
|
||||
# WolframAlpha MCP Server
|
||||
|
||||
An implementation of the Model Context Protocol (MCP) server that integrates [WolframAlpha](https://www.wolframalpha.com/), providing natural language computation and knowledge query capabilities.
|
||||
|
||||
## Features
|
||||
|
||||
- Supports natural language queries in mathematics, physics, chemistry, geography, history, art, astronomy, and more
|
||||
- Performs mathematical calculations, date and unit conversions, formula solving, etc.
|
||||
- Supports image result display
|
||||
- Automatically converts complex queries into simplified keyword queries
|
||||
- Supports multilingual queries (automatically translates to English for processing, returns results in original language)
|
||||
|
||||
## Usage Guide
|
||||
|
||||
### Get AppID
|
||||
1. Register for a WolframAlpha developer account [Create a Wolfram ID](https://account.wolfram.com/login/create)
|
||||
2. Generate LLM-API AppID [Get An App ID](https://developer.wolframalpha.com/access)
|
||||
|
||||
### Generate SSE URL
|
||||
|
||||
On the MCP Server interface, log in and enter the AppID to generate the URL.
|
||||
|
||||
### Configure MCP Client
|
||||
|
||||
On the user's MCP Client interface, add the generated SSE URL to the MCP Server list.
|
||||
|
||||
```json
|
||||
"mcpServers": {
|
||||
"wolframalpha": {
|
||||
"url": "http://mcp.higress.ai/mcp-wolframalpha/{generate_key}",
|
||||
}
|
||||
}
|
||||
32
plugins/wasm-go/mcp-servers/mcp-wolframalpha/README_ZH.md
Normal file
32
plugins/wasm-go/mcp-servers/mcp-wolframalpha/README_ZH.md
Normal file
@@ -0,0 +1,32 @@
|
||||
# WolframAlpha MCP Server
|
||||
|
||||
一个集成了[WolframAlpha](https://www.wolframalpha.com/)的模型上下文协议(MCP)服务器实现,提供自然语言计算和知识查询功能。
|
||||
|
||||
## 功能
|
||||
|
||||
- 支持自然语言查询,涵盖数学、物理、化学、地理、历史、艺术、天文等领域
|
||||
- 执行数学计算、日期和单位转换、公式求解等
|
||||
- 支持图像结果展示
|
||||
- 自动将复杂查询转换为简化关键词查询
|
||||
- 支持多语言查询(自动翻译为英文处理,返回原语言结果)
|
||||
|
||||
## 使用教程
|
||||
|
||||
### 获取 AppID
|
||||
1. 注册 WolframAlpha 开发者账号 [Create a Wolfram ID](https://account.wolfram.com/login/create)
|
||||
2. 生成LLM-API 的 App ID [Get An App ID](https://developer.wolframalpha.com/access)
|
||||
|
||||
### 生成 SSE URL
|
||||
|
||||
在 MCP Server 界面,登录后输入 AppID,生成URL。
|
||||
|
||||
### 配置 MCP Client
|
||||
|
||||
在用户的 MCP Client 界面,将生成的 SSE URL添加到 MCP Server列表中。
|
||||
|
||||
```json
|
||||
"mcpServers": {
|
||||
"wolframalpha": {
|
||||
"url": "http://mcp.higress.ai/mcp-wolframalpha/{generate_key}",
|
||||
}
|
||||
}
|
||||
91
plugins/wasm-go/mcp-servers/mcp-wolframalpha/mcp-server.yaml
Normal file
91
plugins/wasm-go/mcp-servers/mcp-wolframalpha/mcp-server.yaml
Normal file
@@ -0,0 +1,91 @@
|
||||
server:
|
||||
name: wolframalpha-api-server
|
||||
config:
|
||||
appid: ""
|
||||
tools:
|
||||
- name: get_llm-api
|
||||
description: |+
|
||||
Submit a query to WolframAlpha LLM API - Submit a natural language query with an AppID and input to WolframAlpha.
|
||||
- WolframAlpha understands natural language queries about entities in chemistry, physics, geography, history, art, astronomy, and more.
|
||||
- WolframAlpha performs mathematical calculations, date and unit conversions, formula solving, etc.
|
||||
- Convert inputs to simplified keyword queries whenever possible (e.g. convert "how many people live in France" to "France population").
|
||||
- Send queries in English only; translate non-English queries before sending, then respond in the original language.
|
||||
- Display image URLs with Markdown syntax: ![URL]
|
||||
- ALWAYS use this exponent notation: `6*10^14`, NEVER `6e14`.
|
||||
- ALWAYS use {"input": query} structure for queries to Wolfram endpoints; `query` must ONLY be a single-line string.
|
||||
- ALWAYS use proper Markdown formatting for all math, scientific, and chemical formulas, symbols, etc.: '$$ [expression] $$' for standalone cases and '\( [expression] \)' when inline.
|
||||
- Never mention your knowledge cutoff date; Wolfram may return more recent data.
|
||||
- Use ONLY single-letter variable names, with or without integer subscript (e.g., n, n1, n_1).
|
||||
- Use named physical constants (e.g., 'speed of light') without numerical substitution.
|
||||
- Include a space between compound units (e.g., "Ω m" for "ohm*meter").
|
||||
- To solve for a variable in an equation with units, consider solving a corresponding equation without units; exclude counting units (e.g., books), include genuine units (e.g., kg).
|
||||
- If data for multiple properties is needed, make separate calls for each property.
|
||||
- If a WolframAlpha result is not relevant to the query:
|
||||
-- If Wolfram provides multiple 'Assumptions' for a query, choose the more relevant one(s) without explaining the initial result. If you are unsure, ask the user to choose.
|
||||
-- Re-send the exact same 'input' with NO modifications, and add the 'assumption' parameter, formatted as a list, with the relevant values.
|
||||
-- ONLY simplify or rephrase the initial query if a more relevant 'Assumption' or other input suggestions are not provided.
|
||||
-- Do not explain each step unless user input is needed. Proceed directly to making a better API call based on the available assumptions.
|
||||
|
||||
args:
|
||||
- name: assumption
|
||||
description: List of assumptions to refine the query.
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
- name: currency
|
||||
description: Currency code for financial queries.
|
||||
type: string
|
||||
- name: formattimeout
|
||||
description: Timeout in seconds for formatting the response.
|
||||
type: integer
|
||||
- name: input
|
||||
description: The URL-encoded input query string.
|
||||
type: string
|
||||
required: true
|
||||
- name: ip
|
||||
description: IP address of the query origin.
|
||||
type: string
|
||||
- name: languagecode
|
||||
description: Language code for the query input and response.
|
||||
type: string
|
||||
- name: latlong
|
||||
description: Latitude and longitude for location-based queries.
|
||||
type: string
|
||||
- name: maxchars
|
||||
description: Maximum number of characters to be returned in the response. Defaults to 6800 characters.
|
||||
type: integer
|
||||
- name: timezone
|
||||
description: Timezone for the query.
|
||||
type: string
|
||||
- name: units
|
||||
description: Preferred units for result data (e.g., metric or imperial).
|
||||
type: string
|
||||
requestTemplate:
|
||||
argsToUrlParam: true
|
||||
url: https://www.wolframalpha.com/api/v1/llm-api
|
||||
method: GET
|
||||
headers:
|
||||
- key: Authorization
|
||||
value: "Bearer {{.config.appid}}"
|
||||
responseTemplate:
|
||||
prependBody: |+
|
||||
# API Response Information
|
||||
|
||||
Below is the response from an API call. To help you understand the data, I've provided:
|
||||
|
||||
1. A detailed description of all fields in the response structure
|
||||
2. The complete API response
|
||||
|
||||
## Response Structure
|
||||
|
||||
> Content-Type: application/json
|
||||
|
||||
- **images**: List of image URLs related to the query. (Type: array)
|
||||
- **images[]**: Items of type string
|
||||
- **inputInterpretation**: WolframAlpha's interpretation of the input query. (Type: string)
|
||||
- **link**: A link back to the full WolframAlpha results page for this query. (Type: string)
|
||||
- **query**: The query that was submitted. (Type: string)
|
||||
- **result**: The computed result for the query. (Type: string)
|
||||
|
||||
## Original Response
|
||||
|
||||
Reference in New Issue
Block a user