B

BLAH编排平台

@thomasdavis/blah
0 Stars 400 次浏览 thomasdavis 更新于 2026-08-23

# 正文 BLAH - 几乎本地代理主机 一个新的公共注册表,用于协助MCP服务器及其工具的编排。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

项目处于极端 POC 模式 - 一切都不稳定 - 文档和愿景纯粹是笔记

BLAH - 几乎合逻辑的代理主机 - 更新 #1

(想象成工具的 npmjs)

一旦这个列表全部完成,BLAH JSON 模式将被最终确定。

  • 工具
    • 本地函数
    • 托管函数
    • 注册表
      • 发布
      • 浏览
    • Mcp 支持
      • 本地 Stdio
      • 本地 SSE
      • 托管 SSE
    • Slop 支持
      • 本地 Slop
      • 托管 Slop
    • 工具组合性
      • 分组
      • 流程
      • 触发器/标签
    • 扩展
      • 本地 blah.json
      • 托管 blah.json
    • 调试
      • 游乐场
      • 日志记录

备注:

  • 流程将使用 agnt.gg 的流程模式的一个子集
  • 扩展意味着你可以以任何你喜欢的方式组合 blah.json。(想象一下,如果你只想包含你关注的设计者的工具)
  • 注册表意味着我们将有一个方便的方式来推送和拉取函数(工具)

BLAH - 几乎合逻辑的代理主机

BLAH 是一个开源生态系统,用于使用 Model Context Protocol (MCP) 管理、分发和执行 AI 代理工具。它为 MCP 服务器提供了一个去中心化的注册表,促进了透明度、安全性和社区驱动的开发。

项目结构

此项目使用 Turborepo 组织为单仓库:

  • packages/cli - 主要的 BLAH CLI 工具,用于处理 MCP
  • apps/web - BLAH 的 Web 界面
  • apps/docs - 文档站点

开始

前提条件

  • Node.js >= 18.18.0(推荐 Node 20+)
  • pnpm

安装

# Clone the repository
git clone https://github.com/thomasdavis/blah.git
cd blah

# Install dependencies
pnpm install

# Build the project
pnpm run build

使用 CLI 快速开始

请参阅 CLI README 获取有关使用 BLAH CLI 的详细说明。

# Navigate to the CLI package
cd packages/cli

# Set up your environment variables (.env file)
echo "OPENAI_API_KEY=your_openai_api_key_here" > .env
echo "BLAH_HOST=https://ajax-blah.web.val.run" >> .env

# Run a simulation
pnpm run simulate

目前正在工作中

  • 需要一种方法来使用任何模型/IDE 调试 MCP 服务器
  • 考虑门户
  • Lisa Watts 提出了 "auton",这可能是我将要建议的

无关的想法

  • 需要在想法中保存状态,以免丢失内容(如果你还没有提交)
  • 社交工具的点赞
  • 自动错误率
  • 分享你的工具组合结果

使用本地的 blah.json

托管的 blah.json (Valtown)

开始(托管)

  1. 设置 Valtown 账户
  2. 创建一个新的名为 blah 的 HTTP 函数
export default async function server(request: Request): Promise<Response> {
  const tools = [
    {
      name: "hello_name",
      description: `Says hello to the name`,
      inputSchema: {
        type: "object",
        properties: {
          name: {
            type: "string",
            description: `Name to say hello to`,
          },
        },
      },
    },
  ];

  return new Response(JSON.stringify(tools), {
    headers: {
      "Content-Type": "application/json",
    },
    status: 200,
  });
}

添加到您的客户端

  • Claude
    • 桌面
    • 代码(CLI)
  • Cursor
  • Cline
  • Windsurf
  • BLAH 客户端
  • 是否已有不错的 Web 客户端

开发

我仍在开发工具,以使开发不那么糟糕。

日志记录

在开发过程中,我希望从每个人的客户端发送日志,只是为了找出由于不同配置导致的所有该死的错误。

游乐场

到目前为止只是一个基本的客户端,列出提示、资源和工具。以后可以是交互式的,并且应该也运行测试。

npm run playground

需要改进

  • Valtown 是当前的封装,可能需要使用 Vercel 函数或其他方法来替代。
  • 需要一个好的组合策略

致谢

  • Lisa Watts
  • Travis
  • Wombat

由 AI 生成的废话(以上是真实的)

npm version
CI

TypeScript

  • mcp 服务器版本徽章
  • 注册表运行时间状态

BLAH 是什么?

BLAH 是一个开源生态系统,用于管理、分发和执行使用模型上下文协议 (MCP) 的 AI 代理工具。它提供了一个去中心化的 MCP 服务器注册表,避免了激励不一致的问题,促进了透明度、安全性和社区驱动的开发。

主要特性:

  • 开源基础设施,任何系统(IDE、AI 平台等)都可以连接
  • 支持无限工具选择的语言无关工具注册表
  • 通过可选的签名和验证 MCP 服务器实现强大的安全性
  • 用于发布、发现和管理工具的全面 CLI
  • 支持各种工具类型:函数、REST 端点、本地文件或标准清单

🔍 愿景

BLAH 旨在成为新一代易于共享、发现和组合的 AI 工具的基础。我们设想的未来是:

  1. 任何人都可以创建和分享扩展 AI 能力的工具
  2. 每个人无论技术背景如何,都能访问丰富的工具生态系统
  3. 每个系统都可以通过标准协议与这个生态系统集成

🚀 快速开始

安装

npm install -g blah-mcp

基本用法

# Search for tools
blah search "image generation"

# Install a tool
blah install awesome-image-generator

# List installed tools
blah list

# Get info about a tool
blah info awesome-image-generator

📖 核心概念

注册表

BLAH 的注册表借鉴了像 npm 这样的包管理器的经验,重点关注:

  • 透明性:所有基础设施代码都是开源的
  • 去中心化:存储选项包括本地、云、IPFS 或 gists
  • 安全性:MCP 服务器的可选签名和验证
  • 治理:社区驱动,没有单一实体控制生态系统

代理行为

BLAH 支持多种代理交互模式:

  • 并行执行
  • 递归工具调用
  • 分支工作流
  • 顺序处理
  • 复杂的基于图的工作流

工具定义

BLAH 中的工具本质上是一个函数,但可以表示为:

  • 代码片段
  • RESTful 端点
  • 本地可执行文件
  • 标准清单(SLOP、agents.json)

每个工具都应明确记录其调用方式,尽管这不是强制性的。

🛠️ CLI 命令

BLAH 提供了一个全面的 CLI:

blah publish    - Publish a tool to the registry
blah search     - Search for tools by name, tag, or description
blah install    - Install a tool
blah remove     - Remove an installed tool
blah update     - Update tools to latest versions
blah list       - List installed tools
blah info       - Display information about a tool
blah config     - Configure BLAH settings
blah login      - Authenticate with registry
blah logout     - End authentication session
blah whoami     - Show current authenticated user
blah version    - Display version information
blah help       - Show help information

📋 清单

BLAH 使用清单文件 (blah.json) 来定义工具及其依赖项。该清单可以存在于:

希望这符合您的需求!如果还有其他需要翻译的内容,请随时告诉我。

  • 在项目工作空间中
  • 在主目录中
  • 托管在云端
  • 作为代码片段或在 IPFS 上

示例 blah.json

{
  "name": "awesome-image-generator",
  "version": "1.0.0",
  "description": "Tool for generating awesome images",
  "entry": "./dist/index.js",
  "tools": [
    {
      "name": "generate_image",
      "description": "Generates an image from a text prompt",
      "parameters": {
        "prompt": {
          "type": "string",
          "description": "Text description of the desired image"
        },
        "style": {
          "type": "string",
          "enum": ["realistic", "cartoon", "abstract"],
          "default": "realistic"
        }
      }
    }
  ],
  "dependencies": {
    "image-gen-lib": "^2.0.0"
  },
  "tags": ["image", "generation", "creative"]
}

🔄 标准支持

BLAH 支持并旨在兼容:

  • 模型上下文协议 (MCP)
  • SLOP(语言操作员协议结构)
  • agents.json
  • [通过转换器实现您自己的自定义协议]

🌟 发现和元数据

BLAH 中的工具使用以下方式组织:

  • 标签(例如,#TOOLBELT)
  • 语义元数据以便直观导航
  • 使用分析以基于流行度进行推荐
  • 基于用户的推荐(类似用户使用的工具)

🏗️ 架构

BLAH 由三个主要组件组成:

  1. 注册表:用于工具存储和发现
  2. CLI:用于与注册表交互和管理工具
  3. MCP 服务器:用于在代理工作流中执行工具

目前,ValTown 作为注册表存储和计算的主要后端,但欢迎其他替代实现。

🔒 安全性和问责制

BLAH 非常重视安全性:

  • 可选的 MCP 服务器签名
  • 在沙箱环境中执行代码
  • 全面的日志记录以确保问责
  • 遵守当地法律和法规

🚧 路线图

  • 在云平台上托管 MCP 服务器(例如,Cloudflare Workers)
  • 创建一个基于 Web 的工具浏览器和文档网站
  • 改进调试和开发者体验
  • 开发一个工具创建向导/生成器
  • 实施工具推荐系统

🧠 未来的想法

  • 用户行为共享以实现个性化工具推荐
  • 通过类似于 cron 的机制定期执行代理
  • 分散式治理模型以管理注册表
  • 扩展生态系统以实现自定义注册表实现

🤝 贡献

欢迎贡献!请稍后查看详细的贡献指南。

👏 致谢

特别感谢 Lisa 和 Wombat 对此项目的宝贵贡献。

📄 许可证

BLAH 根据 MIT 许可证发布。详情请参阅 LICENSE 文件。


相关 MCP 服务