返回 MCP 目录
public公开dns本地运行

Umami Analytics

Umami Analytics MCP Server是一个增强Claude能力的模型上下文协议服务器,提供对Umami网站分析数据的访问,支持用户行为分析和网站性能跟踪。

article

README

🚀 Umami 使用指南

Umami 是一款实用的服务工具,通过一系列安装配置步骤,可实现自定义提示功能,满足特定的分析需求。

🚀 快速开始

安装依赖

运行以下命令安装必要的 Python 包:

pip install umami python-dotenv fastapi uvicorn

配置环境变量

创建一个 .env 文件,并添加以下内容:

DB_HOST=your-database-host
DB_PORT=5432
DB_NAME=umami
DB_USER=umami_user
DB_PASSWORD=your-database-password

启动服务

运行以下命令启动 Umami 服务:

uvicorn --reload src.analytics_service.app:app

✨ 主要特性

  • 支持自定义提示,可根据需求添加新的提示并实现相应逻辑。
  • 具备清晰的消息结构说明,方便用户理解和使用。

📦 安装指南

安装依赖

运行以下命令安装必要的 Python 包:

pip install umami python-dotenv fastapi uvicorn

配置环境变量

创建一个 .env 文件,并添加以下内容:

DB_HOST=your-database-host
DB_PORT=5432
DB_NAME=umami
DB_USER=umami_user
DB_PASSWORD=your-database-password

启动服务

运行以下命令启动 Umami 服务:

uvicorn --reload src.analytics_service.app:app

💻 使用示例

基础用法

添加新提示

src/analytics_service/server.py 中,修改 list_prompts() 函数以添加自定义提示。

@app.list_prompts()
async def list_prompts():
    return [
        # 现有提示...
        {
            "name": "Your Prompt Name",
            "description": "您的提示描述。",
            "arguments": [
                {
                    "name": "参数名称 1",
                    "description": "参数描述。",
                    "required": True
                },
                {
                    "name": "参数名称 2",
                    "description": "参数描述。",
                    "required": False
                }
            ]
        }
    ]

实现提示逻辑

src/analytics_service/server.py 中,修改 get_prompt() 函数以处理新提示。

@app.get_prompt()
async def get_prompt(name: str, arguments: Any):
    if name == "Your Prompt Name":
        return {
            "messages": [
                {
                    "role": "user",
                    "content": {
                        "type": "text",
                        "text": f"您的提示模板,包含{arguments['参数名称']}。"
                    }
                }
            ]
        }

高级用法

消息结构说明

  • 角色字段

    • role: "user":模拟用户输入或问题。
    • role: "assistant":表示 Claude 的响应或指令。
    • role: "system":设置上下文或提供高层次的指令。
  • 内容类型

    • "type": "text":用于纯文本内容。
    • "type": "resource":包含外部资源,如文件、日志等。需要指定 uritextmimeType 属性。

📚 详细文档

最佳实践

  • 明确性:使提示专注且具体。
  • 参数命名:使用描述性的名称,并提供示例值。
  • 错误处理:考虑异常情况和边界条件。
  • 测试验证:用不同输入测试提示,确保其有效性和可靠性。

通过以上步骤,您可以自定义 Umami 服务,满足特定的分析需求。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端