通信协作协议服务器

Pararam Nexus MCP是一个基于Model Context Protocol的服务器,为pararam.io通信平台提供异步API访问和消息管理功能。

  • by GaijinEntertainment
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 GaijinEntertainment/pararam-nexus-mcp

使用说明

Pararam Nexus MCP

一种用于交互的模型上下文协议(MCP)服务器 帕拉拉姆.io -一个现代化的沟通与协作平台。

关于pararam.io

Pararam.io是一个通信平台,提供:

  • 消息传递:创建群组和私人聊天
  • 团队组织:将人员组织成团队
  • 交流:群组和私人通话(音频和视频)
  • 跨平台:可在移动设备(iOS、Android、华为)和网络上使用

此MCP服务器使用 pararamio-aio 库,通过模型上下文协议提供对pararam.io功能的异步访问。

特性

  • pararam.io的异步API客户端
  • 双因素身份验证支持(TOTP)
  • 带有cookie存储的会话持久性
  • 全面的聊天和消息管理
  • 文件附件处理(上传和下载)
  • 基于URL的消息检索
  • 对话线索构建

可用工具

消息操作

  • 搜索消息:使用高级搜索语法(布尔运算符、通配符、过滤器)在所有聊天中搜索消息
  • get_chat消息:从特定聊天中获取最新消息
  • send_message:向聊天室发送带有可选回复和引用文本的消息
  • get_message_from_url:从pararam.io URL提取和检索消息

聊天操作

  • 搜索帽子:按姓名或描述搜索聊天记录
  • build_conversation_thread:从根消息构建对话树

文件操作

  • upload_file_to_chat:将文件上传到聊天室(从路径或base64内容)
  • get_post_attachments:列出帖子中的所有附件
  • download_post_attachment:下载附件(到磁盘或作为ImageContent)
    • 1MB下载大小限制
    • 支持直接显示的格式:图像(JPEG、PNG、GIF、WEBP)、文档(PDF、DOCX、DOC、TXT、RTF、ODT、HTML、EPUB)、电子表格(XLSX、XLS、CSV)、数据(JSON、XML)
    • 返回支持类型的ImageContent(在Claude Desktop/Code中本地显示)
    • 对于不支持的类型,需要output_path保存到磁盘
    • 提供输出路径后保存到磁盘

用户操作

  • 搜索用户:按名称或唯一名称搜索用户
  • get_user_info:获取特定用户的详细信息
  • get_user_team_status:获取用户在团队中的状态(成员、管理员、访客)

工具详细信息

send_message

使用可选的回复和报价功能向聊天室发送消息。

参数:

  • chat_id (必填):要向其发送消息的聊天室的ID
  • text (必填):要发送的消息文本
  • reply_to_message_id (可选):要回复的帖子编号
  • quote_text (可选):引用回复消息中的文本(仅与 reply_to_message_id)

邮件格式: Pararam支持类似Markdown的文本,但不支持Markdown标题(#, ##, ###). 使用 **bold** 取而代之的是章节标题。使用颜色作为 [#RRGGBB](text); 彩色子弹示例: [#2E7D32](●)。保持表格简单,因为内部可能无法呈现颜色 表格单元格。使用 @all, @online, @admin,以及 @groups 仅当用户明确询问时 对于广泛的通知,并在发送此类提及之前要求明确确认。 看 docs/PARARAM_FORMATING.md 查看完整语法。

示例:

# Simple message
send_message(chat_id="123", text="Hello!")

# Reply to a message
send_message(
    chat_id="123",
    text="I agree!",
    reply_to_message_id="456"
)

# Reply with quoted text
send_message(
    chat_id="123",
    text="That's a great idea!",
    reply_to_message_id="456",
    quote_text="We should implement this feature next week"
)

安装

使用uvx快速安装(推荐)

默认情况下使用已发布的PyPI包:

uvx pararam-nexus-mcp

对于未发布的开发快照,您可以直接从GitHub运行:

uvx --from git+https://github.com/ivolnistov/pararam-nexus-mcp pararam-nexus-mcp

对于本地开发,克隆存储库并安装依赖项:

git clone https://github.com/ivolnistov/pararam-nexus-mcp.git ~/.mcp/pararam-nexus-mcp
cd ~/.mcp/pararam-nexus-mcp
uv sync

Docker安装

拉取 Docker Hub:

docker pull ivolnistov/pararam-nexus-mcp:latest

或者从GitHub容器注册表:

docker pull ghcr.io/ivolnistov/pararam-nexus-mcp:latest

开发安装

对于当地发展:

git clone https://github.com/ivolnistov/pararam-nexus-mcp.git
cd pararam-nexus-mcp
uv sync --dev

配置

服务器根据设置的环境变量以两种模式之一运行。

完整模式——登录+密码(+可选2FA)

所有工具都已注册。Cookie在运行之间保持不变。

PARARAM_LOGIN=your_login
PARARAM_PASSWORD=your_password
PARARAM_2FA_KEY=your_2fa_key  # optional

有限模式-- X-UserToken 服务令牌

集 PARARAM_USER_TOKEN (相互排斥 PARARAM_LOGIN/PARARAM_PASSWORD). 仅注册聊天/消息/帖子/回复/编辑/删除工具; 用户查找、全局搜索和文件操作被排除在外。

PARARAM_USER_TOKEN=your_service_token

要在Pararam中获取服务令牌,请执行以下操作:

  1. 打开Pararam 信息聊天 bot文档。
  2. 在 用户令牌,跑 创建新令牌 (bot://cmd_create_user_token?title=Create+new+token&conf=True).
  3. InfoBot将回复 New user token - ....
  4. 将该值复制到 PARARAM_USER_TOKEN 并将其作为秘密存储。

有限模式下可用的工具:

  • 聊天 — get_chat, create_private_chat, create_group_chat, create_thread_chat
  • 帖子 — get_chat_messages, get_message_from_url, get_reply_thread, get_replies_to_post, send_message, edit_post, delete_post

MCP客户端配置

克劳德代码(CLI)

使用Claude Code CLI添加服务器:

# Using uvx (recommended)
claude mcp add pararam-nexus \
  --env PARARAM_LOGIN=myuser@example.com \
  --env PARARAM_PASSWORD=mySecurePassword123 \
  --env PARARAM_2FA_KEY=JBSWY3DPEHPK3PXP \
  -- uvx pararam-nexus-mcp

# Using Docker
claude mcp add pararam-nexus \
  --env PARARAM_LOGIN=myuser@example.com \
  --env PARARAM_PASSWORD=mySecurePassword123 \
  --env PARARAM_2FA_KEY=JBSWY3DPEHPK3PXP \
  -- docker run -i --rm ivolnistov/pararam-nexus-mcp:latest

克劳德桌面版

选项1:使用uvx(推荐)

  1. 打开克劳德桌面首选项
  2. 导航到MCP部分
  3. 单击“编辑”打开 claude_desktop_config.json
  4. 添加服务器配置:
{
  "mcpServers": {
    "pararam-nexus": {
      "command": "uvx",
      "args": ["pararam-nexus-mcp"],
      "env": {
        "PARARAM_LOGIN": "myuser@example.com",
        "PARARAM_PASSWORD": "mySecurePassword123",
        "PARARAM_2FA_KEY": "JBSWY3DPEHPK3PXP"
      }
    }
  }
}

选项2:使用Docker

首先,为会话持久性创建一个卷:

docker volume create pararam-mcp-data

然后添加到 claude_desktop_config.json:

{
  "mcpServers": {
    "pararam-nexus": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-v",
        "pararam-mcp-data:/app/.cookies",
        "-e",
        "PARARAM_LOGIN=myuser@example.com",
        "-e",
        "PARARAM_PASSWORD=mySecurePassword123",
        "-e",
        "PARARAM_2FA_KEY=JBSWY3DPEHPK3PXP",
        "ivolnistov/pararam-nexus-mcp:latest"
      ]
    }
  }
}

光标IDE

添加 .cursor/mcp.json:

{
  "mcpServers": {
    "pararam-nexus": {
      "command": "uvx",
      "args": ["pararam-nexus-mcp"],
      "env": {
        "PARARAM_LOGIN": "myuser@example.com",
        "PARARAM_PASSWORD": "mySecurePassword123",
        "PARARAM_2FA_KEY": "JBSWY3DPEHPK3PXP"
      }
    }
  }
}

或者使用Docker(具有会话持久性):

首先,创建一个卷:

docker volume create pararam-mcp-data

然后添加到 .cursor/mcp.json:

{
  "mcpServers": {
    "pararam-nexus": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-v",
        "pararam-mcp-data:/app/.cookies",
        "-e",
        "PARARAM_LOGIN=myuser@example.com",
        "-e",
        "PARARAM_PASSWORD=mySecurePassword123",
        "-e",
        "PARARAM_2FA_KEY=JBSWY3DPEHPK3PXP",
        "ivolnistov/pararam-nexus-mcp:latest"
      ]
    }
  }
}

其他MCP兼容客户端

对于任何支持stdio传输的MCP兼容客户端:

使用uvx:

uvx pararam-nexus-mcp

使用Docker(具有会话持久性):

# Create volume for cookies
docker volume create pararam-mcp-data

# Run with volume mounted
docker run -i --rm \
  -v pararam-mcp-data:/app/.cookies \
  -e PARARAM_LOGIN=myuser@example.com \
  -e PARARAM_PASSWORD=mySecurePassword123 \
  -e PARARAM_2FA_KEY=JBSWY3DPEHPK3PXP \
  ivolnistov/pararam-nexus-mcp:latest

环境变量:

  • PARARAM_LOGIN (完整模式):您的pararam.io登录名
  • PARARAM_PASSWORD (完整模式):您的pararam.io密码
  • PARARAM_2FA_KEY (可选):您在完全模式下用于TOTP身份验证的2FA密钥
  • PARARAM_USER_TOKEN (受限模式):服务令牌以 X-UserToken

设置其中之一 PARARAM_LOGIN/PARARAM_PASSWORD 或 PARARAM_USER_TOKEN不是两者都有。

用法

如果与uvx一起安装:

uvx pararam-nexus-mcp

如果在本地克隆:

cd ~/.mcp/pararam-nexus-mcp
uv run pararam-nexus-mcp

发展:

uv run pararam-nexus-mcp

发展

安装预提交挂钩:

uv run pre-commit install

运行linting和格式化:

uv run ruff check --fix src/
uv run ruff format src/

运行类型检查:

uv run mypy src/pararam_nexus_mcp

运行测试:

uv run pytest

依赖项

  • 快速多通道处理:模型上下文协议服务器框架
  • 对乙酰氨基酚:pararam.io API的异步Python客户端
  • httpx:现代HTTP客户端
  • 派丹蒂克:使用Python类型注释进行数据验证

许可证

麻省理工学院