
Goatcounter MCP Server

2025.05.03
0
Python网站分析API 网关开发效率
Goatcounter MCP Server 是一个基于 Model Context Protocol (MCP) 的服务,用于与 Goatcounter 网站分析 API 进行交互。它允许语言模型或其他 MCP 客户端通过标准化的工具接口轻松查询 Goatcounter 的统计数据和信息。该服务器使用 Python 和 FastMCP 库构建,通过环境变量配置 Goatcounter 站点代码和 API 密钥进行认证。
View on GitHub
Overview
基本能力
产品定位
Goatcounter MCP Server 是一个中间件服务,旨在为语言模型和 MCP 客户端提供与 Goatcounter 网站分析 API 交互的标准化接口。
核心功能
- 提供大多数 Goatcounter API 端点的工具接口
- 通过环境变量(
GOATCOUNTER_API_KEY
、GOATCOUNTER_CODE
)配置 API 密钥和站点代码 - 延迟初始化 API 客户端:即使未配置 API 凭据,也可以列出工具
- 速率限制处理:在遇到 API 速率限制(HTTP 429)时实现自动重试和回退
- 优先使用
X-Rate-Limit-Reset
头信息进行等待 - 如果头信息不可用或无效,则使用指数回退(从 1 秒开始)和随机抖动
- 最多重试 5 次
- 直接使用
fastmcp
命令行工具运行
适用场景
- 需要集成 Goatcounter 数据分析功能的语言模型应用
- 需要自动化获取网站统计信息的开发项目
- 需要标准化接口访问 Goatcounter API 的 MCP 客户端
工具列表
- Goatcounter_get_me:获取当前 Goatcounter 用户和 API 密钥的信息
- Goatcounter_list_sites:列出当前 API 密钥可访问的所有 Goatcounter 站点
- Goatcounter_list_paths:获取站点跟踪路径的概览(无统计信息)
- Goatcounter_get_stats_total:获取指定时间段内站点的总页面浏览量和独立访客数
- Goatcounter_get_stats_hits:列出页面统计数据(每个路径的页面浏览量和访客数)
- Goatcounter_get_stats_refs:列出引荐来源统计数据
- Goatcounter_get_stats_browsers:列出浏览器统计数据
- Goatcounter_get_stats_systems:列出操作系统统计数据
- Goatcounter_get_stats_sizes:列出屏幕尺寸统计数据
- Goatcounter_get_stats_locations:列出位置统计数据
常见问题解答
- 如何配置 API 密钥和站点代码?通过设置
GOATCOUNTER_API_KEY
和GOATCOUNTER_CODE
环境变量 - 如何处理 API 速率限制?服务会自动实现重试和回退机制
- 如何与 Claude Desktop 集成?通过配置
claude_desktop_config.json
文件
使用教程
使用依赖
- Python 环境
- Node.js(用于与 Claude Desktop 集成)
安装教程
选项1:通过 Smithery 安装(推荐)
npx -y @smithery/cli install @rafaljanicki/goatcounter-mcp-server --client claude
选项2:从 PyPI 安装
pip install goatcounter-mcp-server
选项3:从源代码安装
- 克隆仓库:
git clone https://github.com/rafaljanicki/goatcounter-mcp-server
cd goatcounter-mcp-server
- 创建虚拟环境:
python3.13 -m venv venv
source venv/bin/activate # Windows 使用 `venv\Scripts\activate`
- 安装依赖:
pip install -r requirements.txt
- 配置环境变量:
cp .env.example .env
然后编辑 .env
文件添加您的 Goatcounter 详细信息
调试方式
运行服务器
从 PyPI 安装:
goatcounter-mcp-server
从源代码安装:
fastmcp dev src/goatcounter_mcp_server/server.py
验证连接
- 重启 Claude Desktop
- 查看输入区域是否有锤子或连接器图标
- 点击图标查看可用的
goatcounter-mcp-server
工具