Afpnews Server
БесплатноНе проверенMCP server exposing AFP news content as tools for AI assistants, enabling article search, retrieval, and analysis via natural language.
Описание
MCP server exposing AFP news content as tools for AI assistants, enabling article search, retrieval, and analysis via natural language.
README
MCP (Model Context Protocol) server that exposes AFP news content as tools for AI assistants. Works with any MCP-compatible client.
The package can also be used as a library without MCP server glue via afpnews-mcp-server/definitions.
Prerequisites
- Bun 1.3+
- An AFP API account (API key + username/password)
Setup
git clone https://github.com/julesbonnard/afpnews-mcp-server.git
cd afpnews-mcp-server
bun install
Create a .env file:
APICORE_API_KEY=your-api-key
APICORE_USERNAME=your-username
APICORE_PASSWORD=your-password
Usage
Stdio transport (default)
For local MCP clients like Claude Code or 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 transport
For remote or multi-user deployments. Users authenticate via OAuth2 PKCE using their AFP credentials.
Required environment variables for HTTP mode:
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
Optional:
MCP_SESSION_TTL— session duration in milliseconds (default: 3600000 = 1h)MCP_ALLOWED_REDIRECT_URIS— comma-separated list of allowed OAuth redirect URIs
bun src/index.ts
If you expose the server remotely, use HTTPS.
Docker
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
As a library (without MCP server dependency)
You can import pure definitions (tools, prompts, resources) and wire them into your own runtime:
import { AFP_DEFINITIONS } from 'afpnews-mcp-server/definitions';
const { tools, prompts, resources } = AFP_DEFINITIONS;
Or import each collection directly:
import {
TOOL_DEFINITIONS,
PROMPT_DEFINITIONS,
RESOURCE_DEFINITIONS,
} from 'afpnews-mcp-server/definitions';
Each definition is framework-agnostic:
tools:name,title,description,inputSchema,handler(apicore, args)prompts:name,title,description,argsSchema,handler(args)resources:name,uri,description,mimeType,handler()
Tools
| Tool | Description |
|---|---|
afp_search_articles |
Search AFP articles with filters, presets, and full-text mode |
afp_get_article |
Get a full article by its UNO identifier |
afp_find_similar |
Find similar articles (More Like This) from a UNO |
afp_list_facets |
List facet values (topics, genres, countries) with frequency counts |
afp_search_media |
Search AFP media documents (photos, videos, graphics) |
afp_get_media |
Get a full media document by UNO, with optional base64 image embed |
Search presets
The afp_search_articles tool supports presets that apply predefined filters:
a-la-une— Top story (French, last 24h)agenda— Upcoming eventsprevisions— Editorial planning / forecastsmajor-stories— Major articles
List preset
trending-topics— Trending topics from the last 24h
Full text
By default, afp_search_articles returns excerpts (first 2 paragraphs). Set fullText: true to get the complete article body. Presets default to full text.
Pagination
Use offset to paginate through results (e.g. offset: 10 to skip the first 10). For large chronological scans, prefer narrowing dateFrom/dateTo ranges in facets over high offsets. Keep size small (10–20) for best performance.
Prompts
| Prompt | Description |
|---|---|
daily-briefing |
Generate a daily news briefing |
comprehensive-analysis |
In-depth analysis on a topic |
factcheck |
Verify facts using AFP factchecks |
country-news |
News summary for a specific country |
Resources
| Resource | Description |
|---|---|
afp://topics |
AFP Stories topic catalog by language |
Development
bun install
bun test
Internal Architecture
src/tools/*.ts,src/prompts/*.ts,src/resources/*.tscontain pure definitions.src/tools/index.ts,src/prompts/index.ts,src/resources/index.tscontain MCP registration glue.src/definitions.tsexports aggregated, server-agnostic definitions:AFP_DEFINITIONSTOOL_DEFINITIONSPROMPT_DEFINITIONSRESOURCE_DEFINITIONS
License
ISC
Установка Afpnews Server
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/julesbonnard/afpnews-mcp-serverFAQ
Afpnews Server MCP бесплатный?
Да, Afpnews Server MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Afpnews Server?
Нет, Afpnews Server работает без API-ключей и переменных окружения.
Afpnews Server — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Afpnews Server в Claude Desktop, Claude Code или Cursor?
Открой Afpnews Server на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
автор: modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
автор: xuzexin-hzCompare Afpnews Server with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории ai
