内容
# Flarum MCP 服务器
[模型上下文协议(MCP)](https://modelcontextprotocol.io/) 的 Flarum 论坛服务器。这允许 Claude Code 和其他 MCP 客户端与 Flarum 论坛交互 - 创建、读取、更新和删除讨论、帖子、用户和标签。
## 安装
### 全局安装(推荐)
```bash
npm install -g @btafoya/flarum-mcp-server
```
### npx(无需安装)
```bash
claude mcp add flarum \
-e FLARUM_BASE_URL=https://your-forum.com \
-e FLARUM_USERNAME=your-email@example.com \
-e FLARUM_PASSWORD=your-password \
-- npx @btafoya/flarum-mcp-server
```
## Claude Code CLI
将服务器添加到 Claude Code:
```bash
claude mcp add flarum \
-e FLARUM_BASE_URL=https://your-forum.com \
-e FLARUM_USERNAME=your-email@example.com \
-e FLARUM_PASSWORD=your-password \
-- flarum-mcp-server
```
如果运行上述命令后环境变量未被读取,请在 `~/.claude/settings.json` 中手动添加服务器:
```json
{
"mcpServers": {
"flarum": {
"command": "flarum-mcp-server",
"env": {
"FLARUM_BASE_URL": "https://your-forum.com",
"FLARUM_USERNAME": "your-email@example.com",
"FLARUM_PASSWORD": "your-password"
}
}
}
}
```
从 Claude Code 中删除服务器:
```bash
claude mcp remove flarum
```
## 环境变量
| 变量 | 是否必需 | 描述 |
|----------|----------|-------------|
| `FLARUM_BASE_URL` | 是 | 您的 Flarum 论坛 URL |
| `FLARUM_USERNAME` | 否 | 自动登录的电子邮件或用户名 |
| `FLARUM_PASSWORD` | 否 | 自动登录的密码 |
## 可用工具
### 讨论
| 工具 | 描述 |
|------|-------------|
| `flarum_list_discussions` | 列出讨论(支持按用户、标签、日期筛选) |
| `flarum_get_discussion` | 获取讨论详情 |
| `flarum_create_discussion` | 创建新的讨论 |
| `flarum_update_discussion` | 更新讨论 |
| `flarum_delete_discussion` | 删除/隐藏讨论 |
### 帖子
| 工具 | 描述 |
|------|-------------|
| `flarum_list_posts` | 列出讨论中的帖子 |
| `flarum_get_post` | 获取帖子详情 |
| `flarum_create_post` | 创建回复 |
| `flarum_update_post` | 更新帖子 |
| `flarum_delete_post` | 删除/隐藏帖子 |
### 用户
| 工具 | 描述 |
|------|-------------|
| `flarum_list_users` | 列出用户(支持搜索) |
| `flarum_get_user` | 获取用户详情 |
| `flarum_create_user` | 创建新用户 |
| `flarum_update_user` | 更新用户 |
| `flarum_delete_user` | 删除用户 |
### 标签
| 工具 | 描述 |
|------|-------------|
| `flarum_list_tags` | 列出所有标签 |
### 身份验证
| 工具 | 描述 |
|------|-------------|
| `flarum_login` | 登录论坛 |
| `flarum_logout` | 注销 |
| `flarum_check_auth` | 检查身份验证状态 |
## 使用示例
在 Claude Code 中,您可以说:
- "列出最新的 10 个讨论"
- "创建一个新的讨论,标题为 'Hello World',内容为 'This is my first post'"
- "回复讨论 123,内容为 'Thanks for sharing!'"
- "显示用户 john 的所有讨论"
- "获取 2024-01-01 以后创建的讨论"
## 功能
- **自动登录**:在环境变量中配置凭证以进行自动身份验证
- **令牌缓存**:令牌缓存在本地(`~/.flarum-mcp-token.json`),有效期为 5 年
- **筛选**:按用户、标签和日期范围筛选讨论
- **软删除**:默认删除操作隐藏内容(可恢复),可选择永久删除
## 要求
- Node.js >= 18.0.0
- 具有 API 访问权限的 Flarum 论坛
## 开发
```bash
# 克隆并安装依赖
git clone https://github.com/btafoya/flarum-mcp-server.git
cd flarum-mcp-server
npm install
# 构建
npm run build
# 监视模式
npm run dev
```
## 许可证
MIT