Skip to main content
Glama

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

BLAH - 勉强符合逻辑的代理主机 - 更新 #1

(想想 npmjs 的工具)

一旦此列表完全完成,BLAH JSON 模式将最终确定。

  • [ ] 工具

    • [x] 局部函数

    • [x] 托管功能

    • [ ] 注册表

      • [ ] 发布

      • [ ] 浏览

    • [x] Mcp 支持

      • [x] 本地 Stdio

      • [x] 本地上交所

      • [ ] 托管 SSE

    • [x] 倾斜支撑

      • [x] 局部倾斜

      • [x] 托管 Slop

    • [ ] 工具可组合性

      • [ ] 分组

      • [ ] 流程

      • [ ] 触发器/标签

    • [ ] 扩展

      • [x] 本地 blah.json

      • [ ] 托管 blah.json

    • [ ] 调试

      • [ ] 游乐场

      • [ ] 日志记录

笔记:

  • 流程将使用 agnt.gg 流程模式的子集

  • 扩展意味着您可以按照任何您喜欢的方式编写 blah.json。(想想如果您只想包含您关注的设计师工具会怎么样)

  • 注册表意味着我们将拥有一种便捷的方式来推送和拉取功能(工具)

BLAH——几乎不合逻辑的代理主机

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

项目结构

该项目使用 Turborepo 组织为 monorepo:

  • packages/cli - 用于与 MCP 配合使用的主要 BLAH CLI 工具

  • apps/web - BLAH 的 Web 界面

  • apps/docs - 文档站点

Related MCP server: mcp-booth

入门

先决条件

  • Node.js >= 18.18.0(建议使用 Node 20+)

  • 下午

安装

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

# Install dependencies
pnpm install

# Build the project
pnpm run build

使用 CLI 快速启动

有关使用 BLAH CLI 的详细说明,请参阅CLI README

# 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,
  });
}

添加到您的客户端

  • 克劳德

    • 桌面

    • 代码(CLI)

  • 光标

  • 克莱恩

  • 风帆冲浪

  • BLAH 客户端

  • 有没有好的网络客户端

发展

我仍在致力于开发使开发变得顺利的工具。

日志记录

在开发这个的时候,我想从每个客户端发送日志,以找出由于不同的配置而导致客户端抛出的所有错误。

操场

目前为止,它只是一个基本的客户端,列出了提示、资源和工具。稍后可以实现交互,也可以用于测试。

npm run playground

需要改进

  • [ ] Valtown 是当前的包装器,需要使用 Vercel 函数或一些东西来替代。

  • [ ] 需要一个良好的可组合性策略

致谢

  • 丽莎·沃茨

  • 特拉维斯

  • 袋熊

人工智能生成的胡说八道(以上内容真实)

npm 版本 CI 许可证:MIT 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(语言操作符协议结构)

  • 代理.json

  • [通过转换器自定义协议]

🌟 发现和元数据

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

  • 标签(例如#TOOLBELT)

  • 用于直观导航的语义元数据

  • 基于流行度的推荐使用分析

  • 基于用户的推荐(类似用户使用的工具)

🏗️ 建筑

BLAH 由三个主要部分组成:

  1. 注册表:用于工具存储和发现

  2. CLI :用于与注册表交互和管理工具

  3. MCP 服务器:用于执行代理工作流中的工具

目前, ValTown是注册存储和计算的主要后端,但也欢迎其他实现方式。

🔒 安全与问责

BLAH 非常重视安全性:

  • MCP 服务器的可选签名

  • 沙盒环境中的代码执行

  • 全面记录责任

  • 遵守当地法律法规

🚧 路线图

  • [ ] 在云平台上托管 MCP 服务器(例如 Cloudflare Workers)

  • [ ] 创建基于 Web 的工具资源管理器和文档站点

  • [ ] 改善调试和开发者体验

  • [ ] 开发工具创建向导/生成器

  • [ ] 实现工具推荐系统

🧠 未来的想法

  • 分享用户行为,实现个性化工具推荐

  • 通过类似 cron 的机制执行预定的代理

  • 注册管理的去中心化治理模型

  • 自定义注册表实现的扩展生态系统

🤝 贡献

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

👏 致谢

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

📄 许可证

BLAH 采用 MIT 许可证发布。详情请参阅许可证文件。


-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/thomasdavis/blah'

If you have feedback or need assistance with the MCP directory API, please join our Discord server