mcpField
W
WebAPI MCP 服务器

WebAPI MCP 服务器

ローカル
github.com/yinzhouzhi開発ツール579 週間前に更新

WebAPI MCP 服务器 について

既存の Web API を MCP ツールとして登録するサーバーで、エージェントから業務 API を呼び出す用途に向いています。JSON・Markdown のファイルやディレクトリから定義を一括読み込みでき、デフォルトヘッダーも管理できます。

主な機能

  1. 01Web API の MCP ツール化
  2. 02実行中の API 登録・削除
  3. 03JSON・Markdown 定義の一括読み込み
  4. 04グローバルデフォルトヘッダーの設定
  5. 05ネストされたレスポンスデータの抽出

活用シーン

  1. 01エージェントから既存の業務 API を呼び出す
  2. 02ディレクトリから API 定義を読み込む
  3. 03デフォルトヘッダーによる API リクエスト権限の管理

MCP 対応

API の登録・削除・一覧表示や定義の一括読み込みを行うツールを提供します。登録した Web API を MCP クライアントから呼び出せます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"webapi": {
"command": "npx",
"args": [
"-y",
"@yinzhouzhi/webapi-mcp-server"
]
}
}
}
起動コマンドnpx -y @yinzhouzhi/webapi-mcp-server

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@yinzhouzhi/webapi-mcp-server

ツール

7

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
namestringはいAPI 名
urlstringはいAPI エンドポイント URL
methodenumいいえHTTP メソッドGET | POST | PUT | DELETE | PATCH
descriptionstringいいえAPI の説明
parametersobjectいいえAPI パラメーター定義
headersobjectいいえAPI 固有のヘッダー
resultPathstringいいえ結果へのアクセスパス(例:data.items)

詳細

WebAPI MCP サーバー

従来のWeb APIをMCPツールに変換するサーバーです。APIインターフェースの一括登録に対応し、MCPツールを通じてデフォルトのリクエストヘッダーを設定できます。

利点:

  1. 従来のRAG方式よりシンプルで、デプロイも容易です。また、従来の業務システムと大規模言語モデルを直接連携できるため、冗長なコードや作業を増やす追加インターフェースの開発が不要です。
  2. JSONファイル、mdファイル、またはファイルディレクトリからの一括インポートに対応しています。
  3. RAGではベクトルデータベースを使ってデータを分割・検索しますが、モデルがAPIを直接呼び出してデータを取得することで、より正確で信頼性の高い結果を得られます。
  4. データの安全性を確保できます。変換したMCPツールのリクエストヘッダーパラメーターを設定することで、データ権限をより正確に管理・制御できます。

原文へのリンク:https://blog.csdn.net/qq_39336120/article/details/147537618

機能の特徴

  • API変換 - あらゆるWeb APIをMCPツールに自動変換
  • 動的登録 - 実行時にAPIを動的に登録・削除
  • グローバルリクエストヘッダー - すべてのAPIのデフォルトリクエストヘッダーを一元管理
  • 柔軟なパラメーター - さまざまなパラメーターの型と検証に対応
  • 結果パス - ネストされたレスポンスから特定のデータを抽出可能
  • 一括読み込み - ファイルまたはディレクトリからAPI定義を一括読み込み可能

Cursorまたはその他のMCPクライアントへの導入方法

{
  "mcpServers": {

    "webapi-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@yinzhouzhi/webapi-mcp-server",
        "start"
      ]
    }
  }
}

インストール

# 克隆项目
git clone <repository-url>
cd webapi-mcp-server

# 安装依赖
npm install

# 初始化项目目录
npm run setup

使用方法

サーバーの起動
npm start

# 使用自定义配置启动
npm start -- --config path/to/config.json --apis-dir path/to/apis

# 使用环境变量启动
WEBAPI_CONFIG_FILE=path/to/config.json WEBAPI_APIS_DIR=path/to/apis WEBAPI_DEBUG=true npm start
設定ファイルのオプション

設定ファイルはJSON、YAML、YML形式に対応しており、以下のオプションを含めることができます。

{
  "apiDirectories": [ // 包含API定义文件的目录列表
    "./apis", 
    "./more-apis"
  ],
  "apiFiles": [ // 单独API定义文件的路径列表
    "./specific-api.json",
    "./another-api.md"
  ],
  "globalHeaders": { // 应用于所有API请求的默认请求头
    "User-Agent": "WebAPI MCP Client/1.0", // 用户代理  
    "Accept": "application/json", // 接受的内容类型
    "Authorization": "Bearer YOUR_TOKEN" // 授权令牌
  },
  "debug": true // 是否启用调试模式
}
設定項目型説明
apiDirectories配列API定義ファイルを含むディレクトリの一覧
apiFiles配列個別のAPI定義ファイルのパス一覧
globalHeadersオブジェクトすべてのAPIリクエストに適用するデフォルトリクエストヘッダー
debugブール値デバッグモードを有効にするかどうか
実行例
npm run run-example
CLIツールを使った利用方法
# 启动服务器
npm run start

# 显示示例
npm run example
環境変数の設定

サーバーは環境変数でも設定できます。

環境変数説明
WEBAPI_CONFIG_FILE設定ファイルのパス
WEBAPI_APIS_DIRAPI定義ディレクトリのパス
WEBAPI_DEBUGデバッグモードを有効化('true'に設定)

MCPツール

サーバーには、以下のMCPツールが組み込まれています。

ツール名説明
register_web_apiWeb APIをMCPツールとして登録し、MCPプロトコル経由で直接呼び出せるようにします。
set_default_headersすべてのAPIリクエストに適用するグローバルなデフォルトリクエストヘッダーを設定します。
list_registered_apis現在登録されているすべてのWeb APIとその設定を一覧表示します。
unregister_api登録済みのWeb APIツールを削除します。
load_api_from_file指定したファイルからAPI定義を読み込み、MCPツールとして登録します。
load_apis_from_directory指定したディレクトリからすべてのAPI定義ファイルを読み込み、MCPツールとして登録します。
load_from_config設定ファイルからAPI定義と設定を読み込みます。

API定義の形式

APIはJSON形式またはMarkdown形式で定義できます。

JSON形式
{
  "name": "weather",
  "description": "获取当前天气信息",
  "url": "https://api.example.com/weather",
  "method": "GET",
  "parameters": {
    "city": {
      "type": "string",
      "required": true, // 是否必填
      "description": "城市名称"
    },
    "units": {
      "type": "string",
      "required": false,
      "description": "温度单位 (celsius, fahrenheit)"
    }
  },
  "headers": {
    "X-API-Key": "your-api-key"
  },
  "resultPath": "data.current"
}
JSON形式のフィールドの説明
フィールド型必須説明
name文字列はいMCP呼び出しに使用する、APIツールの一意な名前
description文字列はいAPI機能の簡単な説明
url文字列はいAPIの完全なURLアドレス。パラメーター付きURLテンプレートに対応
method文字列はいHTTPリクエストメソッド(GET、POST、PUT、DELETEなど)
parametersオブジェクトいいえAPIパラメーターの定義。各パラメーターにはtype、required、description属性が含まれます
headersオブジェクトいいえこのAPI固有のリクエストヘッダー(グローバルリクエストヘッダーと結合されます)
resultPath文字列いいえレスポンスから結果を抽出するパス。ドット記法を使用します(例:"data.items")
bodyTemplateオブジェクト/文字列いいえPOST/PUTリクエストのリクエストボディテンプレート
responseType文字列いいえ想定するレスポンスの型(json、text、blobなど)
transform文字列いいえレスポンスの変換に使用するJavaScriptコード文字列
Markdown形式
# Weather API

获取当前天气信息

## URL
https://api.example.com/weather

## 方法
GET

## 参数
- city (string, required): 城市名称
- units (string, optional): 温度单位 (celsius, fahrenheit)

## 请求头
- X-API-Key: your-api-key

## 结果路径
data.current
Markdown形式の仕様

Markdown形式のAPI定義は、以下の構造に従う必要があります。

  1. レベル1の見出し(#):APIの名前。MCPツール名として使用されます。
  2. 説明:見出しの下のテキストがAPIの説明になります。
  3. URLセクション:## URLで始め、次の行にAPIの完全なURLを記述します。
  4. メソッドセクション:## 方法で始め、次の行にHTTPメソッド(GET、POSTなど)を記述します。
  5. パラメーターセクション(任意):## 参数で始め、各パラメーターをリスト項目として記述します。
    • 形式:パラメーター名 (型, required/optional): 説明
  6. リクエストヘッダーセクション(任意):## 请求头で始め、各リクエストヘッダーをリスト項目として記述します。
    • 形式:リクエストヘッダー名: 値
  7. 結果パスセクション(任意):## 结果路径で始め、次の行に結果を抽出するパスを記述します。
  8. リクエストボディテンプレート(任意):## 请求体で始め、その後にJSON形式のリクエストボディテンプレートを記述します。
  9. レスポンスの型(任意):## 响应类型で始め、想定するレスポンスの型を指定します。
  10. 変換関数(任意):## 转换函数で始め、JavaScriptの変換コードを含めます。

詳細ドキュメント

例

APIの例を確認して、以下の方法をご覧ください。

  1. グローバルなデフォルトリクエストヘッダーを設定する
  2. Web APIを登録する
  3. 登録済みのAPIを一覧表示する
  4. 登録済みのAPIを呼び出す
  5. APIを削除する

エクスポートされたAPI

const webapi = require('webapi-mcp-server');

// 创建自定义服务器
const server = webapi.createServer({
  debug: true,
  configFile: './config.json',
  apisDir: './apis'
});

// 使用其他导出函数
webapi.registerApi(apiDefinition);
webapi.unregisterApi('apiName');
webapi.getRegisteredApis();
webapi.loadApiFile('./path/to/api.json');
webapi.loadApisFromDirectory('./apis');

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。