令牌计数服务器

一个基于TypeScript的MCP服务器,用于计算文件和目录中的令牌数量,优化多代理工作流程中的上下文窗口管理。

  • by Intro0siddiqui
  • JavaScript
  • 本地部署
  • 8 星标
  • 更新于
在 GitHub 查看 Intro0siddiqui/token-counter-server

使用说明

构建一个令牌感知系统来管理大型语言模型(LLM)的上下文窗口,是优化多智能体工作流程的一种复杂方法。它准确地指出了当前AI驱动开发系统中的一个关键瓶颈。

这是一个基于TypeScript的MCP服务器,提供了一个工具用于统计文件和目录中的令牌数量。

安装

要开始操作,您首先需要克隆仓库并从源代码构建服务器。

步骤1:克隆并构建

  1. 克隆仓库 到您的本地机器:

    git clone https://github.com/intro0siddiqui/token-counter-server.git
    
  2. 进入该目录:

    cd token-counter-server
    
  3. 安装依赖项并构建项目:

    npm install
    npm run build
    

完成这一步后,服务器即可投入使用。现在,您可以配置您的MCP客户端(如Claude Desktop)以使用该服务器。

步骤2:配置您的客户端

您有两种配置客户端的选项:

选项A:使用完整路径(简单方式)

你可以直接将客户端指向已构建的服务器文件。这是最简单的方法,且无需对系统进行任何全局更改。

在你的 claude_desktop_config.json,使用完整路径到 build/index.js 在你刚刚克隆的目录中。

  • MacOS(苹果操作系统): ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "token-counter-server": {
      "command": "/path/to/your/cloned/repo/token-counter-server/build/index.js"
    }
  }
}

记得替换 /path/to/your/cloned/repo 使用您系统上的实际绝对路径。

选项B:全局可用命令(高级)

如果你更喜欢使用一个简单的 token-counter-server 无需输入完整路径即可执行命令,您可以将服务器安装为全局命令。

重要的你必须在……里面 token-counter-server 在运行此命令之前,请确保处于目录(即你克隆的目录)中。

  1. 从本地源全局安装:

    npm install -g .
    

    此命令在您的系统上创建一个指向服务器可执行文件的符号链接。

  2. 使用简单命令配置您的客户端: 现在你可以使用 token-counter-server 在您的客户端配置中:

    {
      "mcpServers": {
        "token-counter-server": {
          "command": "token-counter-server"
        }
      }
    }
    

包含的工具

这台服务器提供了以下工具:

  • **count_tokens**统计文件或目录中的令牌数量。
    • path (字符串,必需):文件或目录的路径。
    • file_pattern (字符串,可选):一个用于过滤文件的通配符模式(例如。, *.ts)。

提示

以下是一些您可以使用的示例提示:

  • 统计单个文件中的标记数:

    “你能数一下这些代币的数量吗 src/index.ts?

  • 在目录中使用过滤器统计标记数:

    “里面有多少个代币 src 目录,仅统计 .ts 文件?“

你可以在……中找到这些以及其他示例 prompts/ 目录。

资源

此MCP(可能指“软件包”、“管理控制面板”或具体上下文中的其他含义)包含用于测试和演示目的的示例文件。

  • resources/sample.txt一个用于测试词元计数的示例文本文件。

发展

  • 安装依赖项: npm install
  • 构建: npm run build
  • 留意变化: npm run watch

调试

要调试服务器,您可以使用MCP检查器:

npm run inspector

这将提供一个基于浏览器的界面,用于检查客户端与服务器之间的通信。