
一个实验性的MCP服务器,将Linode API v4 OpenAPI规范转化为工具。每个工具只请求其操作需求的OAuth,登录链接会出现在MCP中......
概览
一个实验性的MCP服务器,将Linode API v4 OpenAPI规范转化为工具。每个工具只请求其操作需求的OAuth,登录链接会出现在MCP客户端的聊天中。API规范从Linode官方OpenAPI发行版获取,解析后缓存到磁盘,并用于构建MCP工具目录。 服务器将 Linode API 操作作为linode_工具暴露。默认情况下,服务器只列出三个工具,并将目录中的其余部分排除在初始列表中:search_tools 查找操作,call_tool调用操作,get_tool_schema返回一个工具的完整输入模式。搜索按工具名称、标题和摘要排序,并对最多 10 个匹配对象返回简洁条目:标题、首个描述段落、访问层级、要求的 OAuth 范围,以及每个参数的一行摘要。结果约为 5000 字符,完整工具定义可达 250K 字符。响应以 YAML 表示,包括通过 call_tool 发出的调用。
概述(AI 翻译)
一个实验性的MCP服务器,将Linode API v4 OpenAPI规范转化为工具。每个工具只请求其操作需求的OAuth,登录链接会出现在MCP客户端的聊天中。API规范从Linode官方OpenAPI发行版获取,解析后缓存到磁盘,并用于构建MCP工具目录。
范围与发现
服务器将 Linode API 操作作为 linode_ 工具发布。默认情况下,服务器只列出三个工具,并将目录中的其余部分排除在初始列表中:search_tools 查找操作,call_tool 调用操作,get_tool_schema 返回一个工具的完整输入模式。搜索通过工具名称、标题和摘要进行排名,并为最多 10 个匹配对象返回简洁条目:标题、首个描述段落、访问层级、要求的 OAuth 范围,以及每个参数的一行摘要。结果长度约为 5000 字符,而完整工具定义可达 250K 字符。响应以 YAML 形式呈现,包括通过 call_tool 进行的调用。[--tool-catalog full 直接列出所有生成的工具。
本页由 AI 翻译,技术细节请以原文为准。
README
以下为原文 README 节选,完整内容请查看原文。
Linode OAuth MCP Server
An experimental MCP server that turns the Linode API v4 OpenAPI specification into tools. Each tool requests only the OAuth scopes its operation needs, and the sign-in link appears in the MCP client’s chat. The API spec is fetched from Linode’s official OpenAPI distribution, parsed, cached on disk, and used to build the MCP tool catalog.
Scope and discovery
The server exposes Linode API operations as linode_ tools. By default, the server lists only three tools and keeps the rest of the catalog out of the initial list: search_tools finds operations, call_tool invokes them, and get_tool_schema returns one tool’s full input schema. Search ranks tools by their name, title, and summary, and returns a compact entry for each of up to 10 matches: its title, first description paragraph, access level, required OAuth scopes, and a one-line summary per parameter. Results run about 5K characters, where full tool definitions would be up to 250K. Responses are rendered as YAML, including calls made through call_tool. --tool-catalog full lists every generated tool directly. Every paginated list tool accepts an X-Filter argument, a JSON string sent as Linode’s filter header (for example, {"mine": true}). The upstream spec declares that header on only a few operations.
The server fetches the spec on first launch and stores it in the user’s cache directory (LINODE_MCP_CACHE_DIR overrides the default). Later starts load the cached JSON copy, which takes about a second. After startup, the server checks the upstream spec in the background with a conditional GET using the cached ETag. An unchanged spec costs one small 304 Not Modified request. If the spec has changed, the server fetches and caches it, and the new spec takes effect the next time the server starts. Run linode-oauth-mcp-server --update-specs to force a fresh fetch.
Authentication
Credentials are checked in this order:
LINODE_API_TOKENorLINODE_OAUTH_TOKEN.LINODE_CLI_TOKEN, then thetokenin~/.config/linode-cli(orLINODE_CLI_CONFIG).- A Linode public OAuth app, when
LINODE_OAUTH_CLIENT_IDis configured.
安装
uvx linode-oauth-mcp-server配置
{
"mcpServers": {
"linode": {
"command": "uvx",
"args": ["linode-oauth-mcp-server"]
}
}
}