afpnews-mcp-server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@afpnews-mcp-serversearch articles on technology this week"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
afpnews-mcp
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 installCreate a .env file:
APICORE_API_KEY=your-api-key
APICORE_USERNAME=your-username
APICORE_PASSWORD=your-passwordUsage
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=3000Optional:
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.tsIf 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-mcpAs 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 |
| Search AFP articles with filters, presets, and full-text mode |
| Get a full article by its UNO identifier |
| Find similar articles (More Like This) from a UNO |
| List facet values (topics, genres, countries) with frequency counts |
| Search AFP media documents (photos, videos, graphics) |
| 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 |
| Generate a daily news briefing |
| In-depth analysis on a topic |
| Verify facts using AFP factchecks |
| News summary for a specific country |
Resources
Resource | Description |
| AFP Stories topic catalog by language |
Development
bun install
bun testInternal 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
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/julesbonnard/afpnews-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server