Token导航 LogoToken导航TokenDH.com
Agenticledger MCP AnyApIService logo
AI代理未说明官方级别未说明来源级核验

Agenticledger MCP AnyApIService

MCP Server

AnyAPICall是一个通用MCP服务器,通过自然语言使AI代理能够与任何HTTP REST API交互,支持多种API和灵活的配置。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
TypeScript自然语言处理AI代理

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

oregpt

提供方

oregpt

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

任何API调用MCP服务器

通用自然语言API代理账本平台MCP服务器

通过AI友好型工具进行任何HTTP API调用。开箱即支持6+个核心API,并且可以轻松扩展到任何REST API。

![Build Status](<>) ![Test Coverage](<>) ![MCP Pattern](<>) ![TypeScript](<>)

______________________________________________________________________

📋 目录

______________________________________________________________________

概述

AnyAPICall是一个通用的MCP(模型上下文协议)服务器,它使AI代理能够通过自然语言与任何HTTP REST API进行交互。无需为每个API单独构建MCP服务器,该服务器提供了一种灵活的、基于配置的方法,可与任何REST API配合使用。

这与以往有何不同?

🔧(扳手或修理工具的象征) 配置驱动 - 仅需添加配置即可新增API,无需修改代码

🌐 表示“互联网”或“全球网络”。 通用的 支持任何REST API(GET、POST、PUT、PATCH、DELETE等)

🔐(锁形符号,常用于表示密码、保密或锁定等含义) 灵活认证 支持Bearer令牌、API密钥、自定义头部和基本身份验证

📖 书籍 自文档化 - AI代理可以实时发现和学习API

🚀 表示火箭或快速上升、前进的意象,常用于表达对未来的憧憬、对进步的追求或对某事物的强烈兴趣。在没有具体上下文时,可简单译为“🚀(火箭/快速上升/前进的象征)”。 准备就绪,可投入生产 - 实际API调用的100%测试覆盖率

______________________________________________________________________

特点/特性

核心能力

  • 调用任意API - 对HTTP方法、头部、主体和参数的完全控制
  • ✅(对号,表示正确、同意或确认) 列出可用的API - 发现所有已注册的API,并应用过滤条件
  • 获取API文档 每个API的详细文档,包括端点和示例
  • 路径参数替换 - 动态URL构建 {param} 占位符
  • 查询参数处理 - 构建干净的查询字符串
  • ✅ 翻译成中文是:对/正确。 请求体支持 - 使用JSON正文的POST/PUT/PATCH方法
  • ✅(勾选标记,表示正确、确认或完成) 自定义头部 - 对特殊需求提供完整的头部控制
  • ✅ 翻译成中文是:✓(对号/正确) 多种认证模式 根据上述信息,以下是原文内容的翻译:
  • 错误处理 - 清晰、可操作的错误信息
  • 性能监控 - 所有回复中均包含响应时间

包含的API(无需配置)

  1. CoinGecko(可译为“币格科”或直接保留原名,根据语境选择) 🪙 - 加密货币价格和市场数据(公开)
  2. OpenWeatherMap(开放天气图) ☁️ - 当前天气和预报(API密钥)
  3. JSONPlaceholder(注:此名称在中文中通常保持原样,不直接翻译,但为解释其含义,可理解为“JSON占位符服务”或“JSON虚拟数据占位符”,不过具体翻译可能根据上下文和使用场景有所调整) 🧪 - 测试与原型制作(公开)
  4. 非系约国(或“其余国家”,具体翻译取决于上下文,这里“REST”通常指“其余”或“剩余”的意思,而“Countries”即“国家”) 🌍 - 地理和国家数据(公开)
  5. GitHub 🐙 - 仓库、用户和问题(公开 + 令牌)
  6. NewsAPI(新闻应用编程接口) 新闻和文章搜索(API密钥)

______________________________________________________________________

快速入门

安装

# Clone the repository
git clone https://github.com/oregpt/Agenticledger_MCP_AnyApIService.git
cd Agenticledger_MCP_AnyApIService

# Install dependencies
npm install

# Build TypeScript
npm run build

# Run tests
npm test

基本用法

import { server } from './dist/index.js';

// Initialize server
await server.initialize();

// Make an API call
const result = await server.executeTool('make_api_call', {
  apiId: 'coingecko',
  endpoint: '/coins/markets',
  method: 'GET',
  queryParams: {
    vs_currency: 'usd',
    per_page: 10
  }
});

console.log(result.data);

// Shutdown
await server.shutdown();

______________________________________________________________________

认证

认证模式

模式: 模式3(API密钥)- AgenticLedger平台MCP服务器构建模式

令牌格式:

{
  accessToken: "your_api_key_here"  // Optional for public APIs
}

公开API与认证API

公开API(无需令牌):

  • CoinGecko(可译为“币志”或保持原名,根据语境选择)
  • JSONPlaceholder(可译为“JSON占位符”或保持原名以体现其作为示例服务的特性)
  • REST国家(注:REST在此处可能是一个特定上下文中的缩写或专有名词,直接翻译为“REST国家”可能不够准确,但根据提供的信息,这是最直接的翻译。如果REST有特定含义,应根据具体语境进行调整。)
  • GitHub(公共端点)

需要身份验证的API(需令牌):

  • OpenWeatherMap - 在 https://openweathermap.org/api 获取免费密钥
  • NewsAPI - 在 https://newsapi.org/ 获取免费密钥
  • GitHub(私有端点)- 在 https://github.com/settings/tokens 生成令牌

设置测试API密钥

# For authenticated API tests
export OPENWEATHER_API_KEY="your_openweather_key"
export NEWSAPI_KEY="your_newsapi_key"
export GITHUB_TOKEN="your_github_token"

# Run tests
npm test

______________________________________________________________________

可用工具

1. 发起API调用

对任何已注册的API执行HTTP API调用。

参数:

  • accessToken (字符串,可选):用于认证API的API密钥/令牌
  • apiId (字符串,必填):API标识符(例如,“coingecko”)
  • endpoint (字符串,必填):端点路径(例如,“/coins/markets”)
  • method (字符串,可选):HTTP 方法(默认:“GET”)
  • pathParams (对象,可选):路径参数替换
  • queryParams (对象,可选):查询字符串参数
  • body (任意,可选):POST/PUT/PATCH 请求的请求体
  • headers (对象,可选):自定义头部

示例:

{
  apiId: 'github',
  endpoint: '/users/{username}',
  method: 'GET',
  pathParams: {
    username: 'octocat'
  }
}

______________________________________________________________________

2. 列出可用的API

列出所有已注册的API,并可选择性地进行过滤。

参数:

  • category (字符串,可选):按类别过滤
  • requiresAuth (布尔值,可选):按认证要求过滤

示例:

{
  requiresAuth: false  // Get only public APIs
}

回答:

{
  "success": true,
  "data": {
    "total": 4,
    "public": 4,
    "authenticated": 0,
    "apis": [...]
  }
}

______________________________________________________________________

3. 获取API文档

获取特定API的详细文档。

参数:

  • apiId API标识符

示例:

{
  apiId: 'coingecko'
}

回复内容包括:

  • API描述和基本URL
  • 认证要求
  • 所有带参数的终端点
  • 示例请求和响应
  • 使用说明

______________________________________________________________________

支持的API

CoinGecko(可译为“币种地质”或直接保留原名,根据语境选择是否意译)

ID: coingecko 认证: 不需要 速率限制: 每分钟10个请求,每天10,000个请求

终点(或:结局指标):

  • list_coins - 获取加密货币市场数据
  • get_coin_data - 获取详细的硬币信息

示例:

{
  apiId: 'coingecko',
  endpoint: '/coins/markets',
  queryParams: {
    vs_currency: 'usd',
    per_page: 10
  }
}

______________________________________________________________________

OpenWeatherMap(开放天气图)

ID: openweather 认证: API密钥已要求 速率限制: 每分钟60个请求,每天1,000个请求

终点(或:结果指标):

  • current_weather - 某地的当前天气
  • forecast - 5天预报,每3小时更新一次

示例:

{
  accessToken: "your_openweather_key",
  apiId: 'openweather',
  endpoint: '/weather',
  queryParams: {
    q: 'London',
    units: 'metric'
  }
}

______________________________________________________________________

JSONPlaceholder(可译为“JSON占位符”或“JSON模拟数据网站”)

ID: jsonplaceholder 认证: 不需要 速率限制: 无限制

终点:

  • list_posts - 获取所有帖子
  • get_post - 获取特定帖子
  • create_post - 创建新帖子
  • list_users - 获取所有用户
  • list_comments - 获取所有评论

示例:

{
  apiId: 'jsonplaceholder',
  endpoint: '/posts',
  method: 'POST',
  body: {
    title: 'My Post',
    body: 'Content here',
    userId: 1
  }
}

______________________________________________________________________

非系约国(或“非英联邦国家”,具体翻译取决于上下文,这里“REST”可能指“Rest of the world”或类似含义,即“其余国家”)

ID: restcountries 认证: 无需(此步骤/此要求) 速率限制: 无限制

终点(或结局指标):

  • all_countries - 获取所有国家
  • search_by_name - 按名称搜索国家
  • get_by_code - 通过ISO代码获取国家
  • by_region - 按地区获取国家

示例:

{
  apiId: 'restcountries',
  endpoint: '/name/{name}',
  pathParams: {
    name: 'united'
  }
}

______________________________________________________________________

GitHub

ID: github 认证: 可选(使用令牌可提高速率限制) 速率限制: 60次请求/分钟(公开访问),5,000次请求/天(经认证用户)

终点(或:研究终点):

  • get_user - 获取用户信息
  • get_repo - 获取仓库信息
  • search_repositories - 搜索存储库
  • list_repo_issues - 列出仓库问题

示例:

{
  accessToken: "github_token",  // Optional
  apiId: 'github',
  endpoint: '/search/repositories',
  queryParams: {
    q: 'machine learning',
    sort: 'stars',
    per_page: 10
  }
}

______________________________________________________________________

NewsAPI(新闻应用程序编程接口)

ID:(译文保持不变,因为“ID”在中文中通常直接使用,无需翻译) newsapi 认证: API密钥已要求 速率限制: 5次请求/分钟,100次请求/天(免费层级)

终点(或:终点指标):

  • top_headlines - 突发新闻头条
  • search_articles - 浏览文章

示例:

{
  accessToken: "your_newsapi_key",
  apiId: 'newsapi',
  endpoint: '/top-headlines',
  queryParams: {
    country: 'us',
    category: 'technology',
    pageSize: 10
  }
}

______________________________________________________________________

使用示例

示例1:获取加密货币价格

const crypto = await server.executeTool('make_api_call', {
  apiId: 'coingecko',
  endpoint: '/coins/markets',
  method: 'GET',
  queryParams: {
    vs_currency: 'usd',
    ids: 'bitcoin,ethereum',
    per_page: 2
  }
});

console.log(crypto.data.data);
// [
//   { id: 'bitcoin', symbol: 'btc', current_price: 114729, ... },
//   { id: 'ethereum', symbol: 'eth', current_price: 4113.86, ... }
// ]

______________________________________________________________________

示例2:获取多个城市的天气信息

const cities = ['London', 'Paris', 'Tokyo'];

for (const city of cities) {
  const weather = await server.executeTool('make_api_call', {
    accessToken: process.env.OPENWEATHER_API_KEY,
    apiId: 'openweather',
    endpoint: '/weather',
    queryParams: {
      q: city,
      units: 'metric'
    }
  });

  const data = weather.data.data;
  console.log(`${data.name}: ${data.main.temp}°C - ${data.weather[0].description}`);
}

______________________________________________________________________

示例3:搜索GitHub仓库

const repos = await server.executeTool('make_api_call', {
  apiId: 'github',
  endpoint: '/search/repositories',
  queryParams: {
    q: 'mcp server',
    sort: 'stars',
    order: 'desc',
    per_page: 5
  }
});

repos.data.data.items.forEach(repo => {
  console.log(`⭐ ${repo.stargazers_count} - ${repo.full_name}`);
});

______________________________________________________________________

示例4:获取国家信息

const country = await server.executeTool('make_api_call', {
  apiId: 'restcountries',
  endpoint: '/alpha/{code}',
  pathParams: {
    code: 'US'
  }
});

const data = country.data.data[0];
console.log(`${data.name.common}`);
console.log(`Capital: ${data.capital[0]}`);
console.log(`Population: ${data.population.toLocaleString()}`);
console.log(`Region: ${data.region}`);

______________________________________________________________________

预构建的API配置

我们现已提供热门API的即用型API配置!

📦 可用的预配置选项

检查 api-configs/ 存放完整、可直接投入生产的配置文件的文件夹:

  • “Canton Network (NodeFortress)”可以翻译为“广州网络(节点堡垒)”。不过,这里的“Canton”通常指的是中国广东省的广州市,但在某些语境下也可能指代更广泛的地区或历史上的广州地区。而“NodeFortress”则可能是一个特定项目、组织或技术的名称,具体含义需根据上下文来确定。如果“NodeFortress”是某个特定项目或组织的名称,且没有官方中文译名,那么可以保留原英文名称或根据其功能、特性进行意译。但在此处,为了简洁明了,直接采用了音译加意译的方式,将其翻译为“广州网络(节点堡垒)” 区块链浏览器API(api-configs/nodefortress_canton.md
  • Bitwave地址服务 - 加密货币地址验证(api-configs/bitwave.md
  • 更多内容即将呈现!

🚀 快速集成

每个预构建的配置包括:

  • ✅ 完整的JSON配置
  • 完整的API文档
  • ✅ 集成指南
  • ✅ 使用示例
  • ✅ 测试用例

对于平台团队:

  1. 打开 .md 文件存入 api-configs/
  2. 复制JSON配置部分
  3. 添加到您的平台API注册表
  4. 完成!无需更改代码

对于MCP服务器用户:

  1. 从(某处)复制JSON api-configs/.md
  2. 添加到 config/apis.json
  3. 重启服务器(无需重建!)

api-configs/README.md 以获取完整详情。

______________________________________________________________________

添加新API

选项1:使用JSON配置(推荐)

只需编辑 config/apis.json 并添加您的API。 无需重建!

HOW_TO_ADD_NEW_APIS.md 以获取完整指南。

选项2:使用TypeScript配置(旧版)

通过TypeScript添加新的API - 只需添加配置到 src/apis/definitions.ts

export const YOUR_API: APIDefinition = {
  id: 'your-api',
  name: 'Your API Name',
  description: 'What this API does',
  baseUrl: 'https://api.example.com/v1',
  requiresAuth: true,
  authType: 'bearer',  // or 'apikey', 'basic', 'custom'
  rateLimit: {
    requestsPerMinute: 60,
    requestsPerDay: 1000
  },
  endpoints: [
    {
      name: 'endpoint_name',
      path: '/endpoint/{id}',
      method: 'GET',
      description: 'What this endpoint does',
      parameters: [
        { name: 'id', type: 'string', required: true, description: 'Resource ID' }
      ],
      queryParams: [
        { name: 'limit', type: 'number', required: false, description: 'Results limit' }
      ]
    }
  ]
};

// Add to CORE_APIS array
export const CORE_APIS: APIDefinition[] = [
  // ... existing APIs
  YOUR_API
];

就这样! 无需更改代码。服务器会自动:

  • 注册API
  • 验证请求
  • 处理身份验证
  • 构建带有路径/查询参数的URL
  • 返回标准化的响应

______________________________________________________________________

测试

运行所有测试

npm test

使用API密钥运行

export OPENWEATHER_API_KEY="your_key"
export NEWSAPI_KEY="your_key"
export GITHUB_TOKEN="your_token"
npm test

测试覆盖率

  • ✅ 测试了所有3种工具
  • ✅ 所有6个API均通过真实调用进行了测试
  • ✅ 错误场景已验证
  • ✅ 参数验证已测试
  • ✅ 认证测试通过
  • ✅ 100%成功率

测试结果

✅ PASSED: 6/6 tests
❌ FAILED: 0/6 tests
📈 SUCCESS RATE: 100.0%
⚡ AVERAGE RESPONSE TIME: 95ms

______________________________________________________________________

平台集成

对于AgenticLedger平台

这个MCP服务器遵循 AgenticLedger平台MCP服务器构建模式v1.0.0

认证模式: 模式3(API密钥)

令牌映射:

{
  token1: "api_key"  // Direct API key for authenticated APIs
}

平台处理程序/平台控制:

  • 用户凭证收集
  • 令牌存储与安全
  • API密钥配置的用户界面
  • AI代理编排

MCP 服务器处理程序:

  • 工具定义
  • API调用执行
  • 响应格式化
  • 错误处理

集成报告

PLATFORM_INTEGRATION_REPORT.md 用于全面测试的文档,包括:

  • 真实API测试结果
  • 性能指标
  • 错误处理验证
  • 平台合规检查清单

______________________________________________________________________

项目结构

AnyAPICall/
├── src/
│   ├── index.ts                    # Main MCP server
│   ├── types.ts                    # TypeScript type definitions
│   ├── schemas.ts                  # Zod validation schemas
│   ├── apis/
│   │   ├── registry.ts             # API registry manager
│   │   └── definitions.ts          # API configurations (fallback)
│   └── utils/
│       └── apiClient.ts            # HTTP client wrapper
├── config/
│   └── apis.json                   # JSON API configurations ⭐ NEW
├── api-configs/                    # Pre-built API configs ⭐ NEW
│   ├── README.md                   # Integration guide
│   ├── nodefortress_canton.md      # Canton Network API
│   └── bitwave.md                  # Bitwave Address Service
├── tests/
│   └── integration-test.js         # Integration tests
├── dist/                           # Compiled JavaScript
├── package.json
├── tsconfig.json
├── README.md                       # This file
├── HOW_TO_ADD_NEW_APIS.md          # Complete API addition guide
└── PLATFORM_INTEGRATION_REPORT.md  # Platform integration docs

______________________________________________________________________

演出

平均响应时间(真实API):

  • CoinGecko:241毫秒
  • GitHub:116毫秒
  • REST 国家/地区:119毫秒
  • JSONPlaceholder: 91毫秒

工具执行:

  • 列出可用API:1毫秒
  • 获取API文档:1毫秒

成功率: 100%

______________________________________________________________________

做出贡献

贡献一个新的API:

  1. 请将API定义添加到 src/apis/definitions.ts
  2. 添加到 CORE_APIS 数组
  3. 运行测试: npm test
  4. 提交包含测试结果的拉取请求(Pull Request)

无需对新API进行代码更改!

______________________________________________________________________

许可证

麻省理工学院(MIT)

______________________________________________________________________

链接

  • GitHub 仓库: https://github.com/oregpt/Agenticledger_MCP_AnyApIService 的中文翻译可以是:“https://github.com/oregpt/Agenticledger_MCP_任意API服务(或:任意应用程序接口服务)”。不过,为了更流畅地表达,我们通常会说“GitHub上的oregpt项目Agenticledger_MCP_任意API服务”或者根据具体语境稍作调整。在这里,“AnyApIService”被翻译为“任意API服务”,以保持原意,同时“Agenticledger_MCP”可能是一个特定项目或模块的名称,根据上下文可能需要具体解释或保持原样
  • AgenticLedger平台: https://agenticledger.com(可翻译为:“https://agenticledger.com(网站地址)”或保持原样,因为网址通常不翻译)
  • MCP服务器构建模式: 参见仓库文档

______________________________________________________________________

支持

问题: https://github.com/oregpt/Agenticledger_MCP_AnyApIService/issues 的中文翻译为:“GitHub 上 oregpt 用户的 Agenticledger_MCP_AnyApIService 项目的问题页面”

______________________________________________________________________

用心打造,献给AgenticLedger AI Agent平台

*AI代理的通用API访问* 🚀 表情符号“🚀”在中文中通常被翻译为“火箭”或直接用该表情符号表示,因为它形象地代表了火箭发射或快速前进的概念。在没有具体上下文的情况下,可以简单地将其描述为“火箭”表情。

目录标签

目录标签

TypeScript自然语言处理AI代理API调用本地部署RESTAPI配置驱动

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

api-key

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明api-key部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP