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

Goatcounter MCP Server

MCP Server

@smithery/cli

Goatcounter MCP服务器是一个为Goatcounter网络分析API提供模型上下文协议(MCP)接口的服务,使语言模型或其他MCP客户端能够通过标准化工具轻松查询Goatcounter统计信息。

工具数

9

提示词数

0

GitHub Stars

0

资源数

0
PythonClaudeAPI接口Claude DesktopClaude

安装说明

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

作者 / 组织

rafaljanicki

提供方

rafaljanicki

最后核验

2026/5/17 20:23

运行时

Node.js

快速接入

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

命令预览

npx -y @smithery/cli install @rafaljanicki/goatcounter-mcp-server --client claude

详细介绍

Goatcounter MCP服务器

](https://smithery.ai/server/@rafaljanicki/goatcounter-mcp-server)

概述

该项目提供了一个模型上下文协议(MCP)服务器,用于与 Goatcounter 网络分析API。它允许语言模型或其他MCP客户端使用标准化的工具界面轻松查询Goatcounter统计数据和信息。

服务器是使用Python构建的 FastMCP 图书馆。它从环境变量中读取Goatcounter站点代码和API密钥以进行身份验证。

特性

  • 为大多数Goatcounter API端点提供工具。
  • 通过环境变量处理API密钥和站点代码配置(GOATCOUNTER_API_KEY, GOATCOUNTER_CODE).
  • API客户端的延迟初始化:即使尚未配置API凭据,也可以列出工具。
  • 费率限制处理:当遇到API速率限制(HTTP 429)时,实现带后退的自动重试。

- 优先考虑 X-Rate-Limit-Reset 如果由API提供,则用于等待的报头。 - 如果报头不可用或无效,则以随机抖动回退到指数回退(从1秒开始)。 - 失败前最多可重试5次。

  • 直接使用运行 fastmcp 命令行工具。

安装

选项1:通过Smithery安装(推荐)

通过以下方式自动为Claude Desktop安装X(Twitter)MCP服务器 史密瑟里:

npx -y @smithery/cli install @rafaljanicki/goatcounter-mcp-server --client claude

选项2:从PyPI安装

最简单的安装方法 goatcounter-mcp-server 通过PyPI:

pip install goatcounter-mcp-server

或者直接从存储库安装:

pip install git+https://github.com/rafaljanicki/goatcounter-mcp-server.git

选项3:从源代码安装

如果您更喜欢从源代码存储库安装:

  1. 克隆存储库:
   git clone https://github.com/rafaljanicki/goatcounter-mcp-server
   cd goatcounter-mcp-server
  1. 创建虚拟环境:
   python3.13 -m venv venv
   source venv/bin/activate  # On Windows use `venv\Scripts\activate`
  1. 安装依赖项:

安装FastMCP和其他所需软件包:

   pip install -r requirements.txt
  1. 配置环境变量:

复制示例 .env.example 文件到 .env:

   cp .env.example .env

编辑 .env 文件并添加您的Goatcounter详细信息(请参阅下面的环境变量部分)。

环境变量

服务器要求设置以下环境变量:

  • GOATCOUNTER_CODE:您的Goatcounter站点代码(子域部分,例如“mycoolsite”)。
  • GOATCOUNTER_API_KEY:您的Goatcounter API令牌。您可以在Goatcounter站点的设置->API令牌下生成一个。确保它对您打算使用的API操作具有必要的权限。

您可以直接在环境中设置这些变量,也可以将它们放置在 .env 项目根目录中的文件。

运行服务器

选项1:使用CLI脚本

该项目定义了一个CLI脚本 goatcounter-mcp-server.

如果从PyPI安装:

goatcounter-mcp-server

如果从源代码安装 uv:

uv run goatcounter-mcp-server

选项2:直接使用FastMCP(仅限源代码)

如果您是从源代码安装的,并且更喜欢使用FastMCP的开发模式运行服务器:

fastmcp dev src/goatcounter_mcp_server/server.py

与Claude Desktop一起使用

要将此MCP服务器与Claude Desktop一起使用,您需要配置Claude以连接到服务器。请按照以下步骤操作:

第一步:安装Node.js

Claude Desktop使用Node.js运行MCP服务器。如果你没有安装Node.js:

  • 从下载并安装Node.js .
  • 验证安装:
  node --version

步骤2:找到Claude桌面配置

Claude Desktop使用 claude_desktop_config.json 配置MCP服务器的文件。

  • 视窗: %APPDATA%\Claude\claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

如果文件不存在,请创建它。

步骤3:配置MCP服务器

编辑 claude_desktop_config.json 包括 goatcounter-mcp-server 服务器。替换 /path/to/goatcounter-mcp-server 项目目录的实际路径(如果是从源代码安装的)或Python可执行文件的路径(如果从PyPI安装的)。

如果从PyPI安装:

{
  "mcpServers": {
    "goatcounter-mcp-server": {
      "command": "goatcounter-mcp-server",
      "args": [],
      "env": {
        "PYTHONUNBUFFERED": "1",
        "GOATCOUNTER_CODE": "goatcounter_code",
        "GOATCOUNTER_API_KEY": "goatcounter_api_key"
      }
    }
  }
}

如果从源代码安装 uv:

{
  "mcpServers": {
    "goatcounter-mcp-server": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/goatcounter-mcp-server",
        "run",
        "goatcounter-mcp-server"
      ],
      "env": {
        "PYTHONUNBUFFERED": "1",
        "GOATCOUNTER_CODE": "goatcounter_code",
        "GOATCOUNTER_API_KEY": "goatcounter_api_key"
      }
    }
  }
}
  • "command": "goatcounter-mcp-server":如果从PyPI安装,则直接使用CLI脚本。
  • "env":如果从PyPI安装,您可能需要直接在配置中提供环境变量(因为没有 .env 文件)。如果从源代码安装 .env 文件将被使用。
  • "env": {"PYTHONUNBUFFERED": "1"}:确保输出无缓冲,以便在Claude中更好地记录。

步骤4:重新启动克劳德桌面

  • 完全退出克劳德桌面。
  • 重新打开Claude Desktop以加载新配置。

步骤5:验证连接

  • 打开克劳德桌面。
  • 在输入区域(右下角)寻找锤子或连接器图标。这表示MCP工具可用。
  • 单击图标查看来自的可用工具 goatcounter-mcp-server

API文档:可用工具

以下MCP工具可用:

______________________________________________________________________

工具: Goatcounter_get_me

获取有关当前Goatcounter用户和与配置的关联的API密钥的信息 GOATCOUNTER_API_KEY.

  • 参数:无
  • 退货: object -有关用户和令牌的信息。

______________________________________________________________________

工具: Goatcounter_list_sites

列出使用当前API密钥可访问的所有Goatcounter站点。

  • 参数:无
  • 退货: object -可访问网站列表。

______________________________________________________________________

工具: Goatcounter_list_paths

获取此网站上跟踪的路径概览(不含统计数据)。

  • 参数:

- limit (整数,可选):限制返回结果的数量(1-200,默认20)。 - after (整数,可选):仅选择此路径ID之后的路径进行分页。

  • 退货: object -路径和分页信息列表。

______________________________________________________________________

工具: Goatcounter_get_stats_total

获取指定时间内网站的页面浏览量和独立访问者总数。

  • 参数:

- start (字符串,可选):开始日期(YYYY-MM-DD或相对日期,例如“7天前”)。 - end (字符串,可选):结束日期(YYYY-MM-DD或相对日期,例如“昨天”)。 - filter (字符串,可选):过滤路径(例如,'/blog\*')。 - daily (布尔值,可选):显示每日统计数据而不是总计(默认值:false)。

  • 退货: object -总统计数据或每日统计数据,如果 daily 这是真的。

______________________________________________________________________

工具: Goatcounter_get_stats_hits

列出页面统计数据(每条路径的页面浏览量和访问者)。

  • 参数:

- start (字符串,可选):开始日期(YYYY-MM-DD或相对日期,例如“7天前”)。 - end (字符串,可选):结束日期(YYYY-MM-DD或相对日期,例如“昨天”)。 - filter (字符串,可选):过滤路径(例如,'/blog\*')。 - daily (布尔值,可选):显示每日统计数据而不是总计(默认值:false)。 - limit (整数,可选):限制返回结果的数量(1-200,默认20)。 - after (整数,可选):分页光标。

  • 退货: object -路径统计信息和分页信息列表。

______________________________________________________________________

工具: Goatcounter_get_stats_refs

列出推荐人统计数据。

  • 参数:

- start (字符串,可选):开始日期(YYYY-MM-DD或相对日期,例如“7天前”)。 - end (字符串,可选):结束日期(YYYY-MM-DD或相对日期,例如“昨天”)。 - filter (字符串,可选):过滤路径(例如,'/blog\*')。 - daily (布尔值,可选):显示每日统计数据而不是总计(默认值:false)。 - limit (整数,可选):限制返回结果的数量(1-200,默认20)。 - after (整数,可选):分页光标。

  • 退货: object -引用者统计信息和分页信息列表。

______________________________________________________________________

工具: Goatcounter_get_stats_browsers

列出浏览器统计信息。

  • 参数:

- start (字符串,可选):开始日期(YYYY-MM-DD或相对日期,例如“7天前”)。 - end (字符串,可选):结束日期(YYYY-MM-DD或相对日期,例如“昨天”)。 - filter (字符串,可选):过滤路径(例如,'/blog\*')。 - daily (布尔值,可选):显示每日统计数据而不是总计(默认值:false)。 - limit (整数,可选):限制返回结果的数量(1-200,默认20)。 - after (整数,可选):分页光标。

  • 退货: object -浏览器统计信息和分页信息列表。

______________________________________________________________________

工具: Goatcounter_get_stats_systems

列出操作系统统计信息。

  • 参数:

- start (字符串,可选):开始日期(YYYY-MM-DD或相对日期,例如“7天前”)。 - end (字符串,可选):结束日期(YYYY-MM-DD或相对日期,例如“昨天”)。 - filter (字符串,可选):过滤路径(例如,'/blog\*')。 - daily (布尔值,可选):显示每日统计数据而不是总计(默认值:false)。 - limit (整数,可选):限制返回结果的数量(1-200,默认20)。 - after (整数,可选):分页光标。

  • 退货: object -操作系统统计信息和分页信息列表。

______________________________________________________________________

工具: Goatcounter_get_stats_sizes

列出屏幕大小统计信息。

  • 参数:

- start (字符串,可选):开始日期(YYYY-MM-DD或相对日期,例如“7天前”)。 - end (字符串,可选):结束日期(YYYY-MM-DD或相对日期,例如“昨天”)。 - filter (字符串,可选):过滤路径(例如,'/blog\*')。 - daily (布尔值,可选):显示每日统计数据而不是总计(默认值:false)。 - limit (整数,可选):限制返回结果的数量(1-200,默认20)。 - after (整数,可选):分页光标。

  • 退货: object -屏幕大小统计信息和分页信息列表。

______________________________________________________________________

工具: Goatcounter_get_stats_locations

列出位置统计信息。

  • 参数:

- start (字符串,可选):开始日期(YYYY-MM-DD或相对日期,例如“7天前”)。 - end (字符串,可选):结束日期(YYYY-MM-DD或相对日期,例如“昨天”)。 - filter (字符串,可选):过滤路径(例如,'/blog\*')。 - daily (布尔值,可选):显示每日统计数据而不是总计(默认值:false)。 - limit (整数,可选):限制返回结果的数量(1-200,默认20)。 - after (整数,可选):分页光标。

  • 退货: object -位置统计信息和分页信息列表。

用法

  1. 设置环境变量:

创建一个 .env 在项目根目录中创建文件或直接设置环境变量:

   GOATCOUNTER_CODE=your_site_code
   GOATCOUNTER_API_KEY=your_goatcounter_api_key

您可以在Goatcounter帐户设置中生成API密钥。

  1. 使用FastMCP运行:

将此服务器与您的FastMCP设置集成。有关连接MCP服务器的详细信息,请参阅FastMCP文档。

服务器使用前缀注册工具 Goatcounter (例如。, Goatcounter.list_sites).

发展

  • 安装开发依赖项: pip install -e ".[dev]" (如果在中指定了开发依赖关系 pyproject.toml)
  • 此项目使用 hatch 用于建筑。

贡献

欢迎投稿!请打开问题或提交拉取请求。

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

目录标签

目录标签

PythonClaudeAPI接口网络分析本地部署数据统计MCP协议Python开发

支持客户端

Claude DesktopClaude

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Node.js

部署方式(deploymentType,部署类型)

remote-capable

来源包(packageName,安装包名)

@smithery/cli

工具数量(toolCount,工具数)

9

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiononeremote-capable

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

安装前确认

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

来源信息

继续浏览同类 MCP