OmniWire MCP服务器⚡️
OmniWire MCP 是一个基于 模型上下文协议(MCP)它通过提供一个统一的界面来消费RSS、Atom、JSON和HTML提要,弥合了人工智能模型和实时信息之间的差距。
专为韧性而设计,具有 哨兵服务 使用断路器可以优雅地处理故障源 通用解析器 自动适应不同的内容格式。
______________________________________________________________________
✨ 特性
- 通用解析:自动检测和解析RSS、Atom、JSON和HTML内容。
- Sentinel架构:智能断路器监测电源健康状况,防止级联故障。
- 动态配置:通过远程JSON配置热重新加载源代码(
RSS_FEEDS)或者回退到本地默认值。 - 数据规范化:将多种提要格式转换为标准化
NewsItem模式。 - 人工智能原生:展示针对LLM消费优化的专用工具和提示。
- 零配置部署:通过立即运行
npx或者Docker。
______________________________________________________________________
🚀 快速开始
使用 npx (全球)
先决条件: 该包必须发布到NPM或全局安装。
npx omniwire-mcp本地测试(不发布)
如果您正在本地开发并想测试 npx 命令:
- 全局链接包:
cd OmniWire-MCP
npm link- 与一起跑步
npx:
npx omniwire-mcp自定义配置
您可以通过两种方式配置服务器:
- 远程URL:提供JSON配置文件的URL。
RSS_FEEDS="https://raw.githubusercontent.com/furkankoykiran/OmniWire-MCP/refs/heads/main/src/config/defaults/feeds.json" npx omniwire-mcp- 直接JSON:将配置JSON直接作为字符串传递。
RSS_FEEDS='{"sources": [...]}' npx omniwire-mcp______________________________________________________________________
📦 安装与发布
发布到NPM(推荐)
作出 npx omniwire-mcp 可供所有人使用:
- 登录NPM:
npm login- 发布包:
npm publish --access public选项1:Docker(云/生产)
服务器已经为Docker做好了部署准备。
# Build the image
docker build -t omniwire-mcp .
# Run with custom config
docker run -e RSS_FEEDS="https://raw.githubusercontent.com/furkankoykiran/OmniWire-MCP/refs/heads/main/src/config/defaults/feeds.json" omniwire-mcp方案2:地方发展
- 克隆存储库:
git clone https://github.com/furkankoykiran/OmniWire-MCP.git
cd OmniWire-MCP- 安装依赖项并构建:
npm install
npm run build- 运行服务器:
npm start______________________________________________________________________
🔌 MCP配置
将OmniWire添加到MCP客户端配置中(例如。, claude_desktop_config.json 或 mcp_config.json).
标准配置(npx)
{
"mcpServers": {
"omniwire": {
"command": "npx",
"args": [
"-y",
"@furkankoykiran/omniwire-mcp"
],
"env": {
"RSS_FEEDS": "https://raw.githubusercontent.com/furkankoykiran/OmniWire-MCP/refs/heads/main/src/config/defaults/feeds.json",
"LOG_LEVEL": "info"
}
}
}
}Docker配置
{
"mcpServers": {
"omniwire": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e", "RSS_FEEDS",
"omniwire-mcp"
],
"env": {
"RSS_FEEDS": "https://raw.githubusercontent.com/furkankoykiran/OmniWire-MCP/refs/heads/main/src/config/defaults/feeds.json"
}
}
}
}______________________________________________________________________
🛠 能力
工具
| 工具 | 描述 | 参数 |
|---|---|---|
fetch-news | 带哨兵保护的Smat提取器 | filter (字符串), sourceId (字符串), limit (编号) |
check-health | 来源诊断报告 | sourceId (可选) |
refresh-config | 强制重新加载远程配置 | 无 |
reset-source | 手动重置断路器 | sourceId (字符串) |
资源
| URI | 描述 |
|---|---|
news://all | 来自所有健康来源的聚合饲料 |
news://source/{id} | 来自特定来源的实时订阅源 |
health://sources | 实时系统健康报告 |
config://current | 查看活动配置 |
提示
| 提示 | 应用程序 |
|---|---|
summarize-news | “给我一个主题X的摘要”(使用 fetch-news) |
analyze-sources | “诊断我的饲料健康状况”(用途 check-health) |
______________________________________________________________________
⚙️ 配置架构
配置JSON文件应与以下架构匹配:
{
"sources": [
{
"id": "tech-crunch",
"name": "TechCrunch",
"url": "https://techcrunch.com/feed/",
"type": "rss",
"enabled": true
}
],
"configPollIntervalMs": 60000,
"requestTimeoutMs": 10000,
"sentinel": {
"failureThreshold": 3,
"recoveryTimeoutMs": 60000
}
}______________________________________________________________________
🤝 贡献
我们欢迎捐款!请查看我们的 贡献指南 有关如何设置开发环境和提交Pull Requests的详细信息。
📄 许可证
该项目根据 MIT许可证.
