afpnews mcp
MCP(模型上下文协议)服务器,公开 法新社 新闻内容作为人工智能助手的工具。适用于任何兼容MCP的客户端。
该包也可以用作库,而无需MCP服务器粘合 afpnews-mcp-server/definitions.
先决条件
- 包子 1.3+
- 一个AFP API帐户(API密钥+用户名/密码)
设置
git clone https://github.com/julesbonnard/afpnews-mcp-server.git
cd afpnews-mcp-server
bun install创建一个 .env 文件:
APICORE_API_KEY=your-api-key
APICORE_USERNAME=your-username
APICORE_PASSWORD=your-password用法
标准传输(默认)
对于本地MCP客户端,如Claude Code或Claude Desktop:
{
"mcpServers": {
"afpnews": {
"command": "bun",
"args": ["src/index.ts"],
"cwd": "/absolute/path/to/afpnews-mcp-server",
"env": {
"APICORE_API_KEY": "your-api-key",
"APICORE_USERNAME": "your-username",
"APICORE_PASSWORD": "your-password"
}
}
}
}HTTP传输
用于远程或多用户部署。用户使用其AFP凭据通过OAuth2-PKCE进行身份验证。
HTTP模式所需的环境变量:
APICORE_API_KEY=your-api-key
APICORE_BASE_URL=https://api.afp.com
MCP_SERVER_URL=https://news-mcp.example.com
JWT_SECRET=a-random-string-of-at-least-32-characters
MCP_TRANSPORT=http
PORT=3000可选:
MCP_SESSION_TTL--会话持续时间(毫秒)(默认值:3600000=1小时)MCP_ALLOWED_REDIRECT_URIS--允许的OAuth重定向URI的逗号分隔列表
bun src/index.ts如果远程公开服务器,请使用HTTPS。
码头工人
docker build -t afpnews-mcp .
docker run \
-e APICORE_API_KEY=your-api-key \
-e APICORE_BASE_URL=https://api.afp.com \
-e MCP_SERVER_URL=https://news-mcp.example.com \
-e JWT_SECRET=your-secret-32-chars-minimum \
-e MCP_TRANSPORT=http \
-p 3000:3000 \
afpnews-mcp作为库(不依赖MCP服务器)
您可以导入纯定义(工具、提示、资源)并将其连接到您自己的运行时:
import { AFP_DEFINITIONS } from 'afpnews-mcp-server/definitions';
const { tools, prompts, resources } = AFP_DEFINITIONS;或者直接导入每个集合:
import {
TOOL_DEFINITIONS,
PROMPT_DEFINITIONS,
RESOURCE_DEFINITIONS,
} from 'afpnews-mcp-server/definitions';每个定义都与框架无关:
tools:name,title,description,inputSchema,handler(apicore, args)prompts:name,title,description,argsSchema,handler(args)resources:name,uri,description,mimeType,handler()
工具
| 工具 | 说明 |
|---|---|
afp_search_articles | 使用过滤器、预设和全文模式搜索AFP文章 |
afp_get_article | 通过UNO标识符获取完整文章 |
afp_find_similar | 从UNO查找类似文章(更多像这样) |
afp_list_facets | 列出具有频率计数的方面值(主题、流派、国家) |
afp_search_media | 搜索AFP媒体文件(照片、视频、图形) |
afp_get_media | 通过UNO获取完整的媒体文档,并可选择嵌入base64图像 |
搜索预设
这 afp_search_articles 该工具支持应用预定义过滤器的预设:
a-la-une--头条新闻(法语,最近24小时)agenda--即将举行的活动previsions--编辑规划/预测major-stories--主要文章
列表预设
trending-topics--过去24小时的热门话题
全文
默认情况下, afp_search_articles 返回摘录(前2段)。集 fullText: true 获取完整的文章正文。默认设置为全文。
分页
使用 offset 对结果进行分页(例如。 offset: 10 跳过前10个)。对于按时间顺序排列的大型扫描,更喜欢缩小范围 dateFrom/dateTo 范围在 facets 超过高偏移。保持 size 小(10-20)以获得最佳性能。
提示
| 提示 | 描述 |
|---|---|
daily-briefing | 生成每日新闻简报 |
comprehensive-analysis | 对某一主题进行深入分析 |
factcheck | 使用AFP事实核查核实事实 |
country-news | 特定国家的新闻摘要 |
资源
| 资源 | 描述 |
|---|---|
afp://topics | AFP故事主题目录(按语言) |
发展
bun install
bun test内部架构
src/tools/*.ts,src/prompts/*.ts,src/resources/*.ts包含纯粹的定义。src/tools/index.ts,src/prompts/index.ts,src/resources/index.ts含有MCP注册胶。src/definitions.ts导出聚合的、与服务器无关的定义:
- AFP_DEFINITIONS - TOOL_DEFINITIONS - PROMPT_DEFINITIONS - RESOURCE_DEFINITIONS
许可证
国际学生中心
