Local News Matters MCP server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LNM_TIMEOUT | No | Per-request timeout in seconds. | 30 |
| LNM_BASE_URL | No | Site root; point at a staging mirror if needed. | https://localnewsmatters.org |
| LNM_USER_AGENT | No | Outbound User-Agent header. | localnewsmatters-mcp/0.1 … |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_articlesA | Search Local News Matters articles. Args: query: Full-text search terms. Leave empty to browse the most recent articles. page: 1-based page number for paging through results. per_page: Results per page (1-100). category_ids: Restrict to these category IDs (see list_categories). tag_ids: Restrict to these tag IDs (see list_tags). author_id: Restrict to a single author (see list_authors). after: ISO-8601 date; only articles published on/after it (e.g. "2024-01-01T00:00:00"). before: ISO-8601 date; only articles published on/before it. response_format: "json" (default) for raw data, or "markdown" for readable text. Returns |
| list_recent_articlesC | List the most recently published Local News Matters articles. |
| get_articleA | Fetch a single article by numeric ID, including full body text. |
| get_article_by_slugB | Fetch a single article by its URL slug (the last path segment of its URL). |
| search_photosA | Search photos/images in the Local News Matters media library. Args: query: Search terms matched against title, caption and alt text. page: 1-based page number. per_page: Results per page (1-100). article_id: Restrict to photos attached to a specific article. response_format: "json" (default) for raw data, or "markdown" for readable text. Returns |
| get_photoB | Fetch a single photo by numeric ID, including caption, alt text and available sizes. |
| get_article_photosB | List every photo attached to a given article. |
| list_categoriesC | List the site's categories (sections), ordered by article count. |
| get_categoryA | Fetch a single category by ID, including its description and article count. |
| list_tagsA | List topic tags, optionally filtered by a search term, ordered by usage. |
| get_tagA | Fetch a single tag by ID, including its description and article count. |
| list_authorsC | List the site's authors/contributors. |
| list_pagesB | List the site's static pages (About, Contact, Donate, etc.), sorted by title. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Recent articles | The most recently published Local News Matters articles, as JSON. |
| Categories | Local News Matters categories (sections), as JSON. |
TDQS
Scored across 13 tools
Most tools have clearly distinct purposes, but there is some overlap: search_articles with an empty query duplicates list_recent_articles, and search_photos with article_id duplicates get_article_photos. The descriptions clarify these as convenience shortcuts, so an agent can still choose correctly, but the redundancy prevents a perfect score.
All tool names follow a consistent verb_noun pattern in snake_case: list_authors, get_article, search_photos, etc. The few longer names like get_article_by_slug and get_article_photos still fit the same convention without deviation.
With 13 tools covering articles, photos, authors, pages, categories, and tags, the set is well-scoped for a news site's read-only API. Each tool earns its place, and the count is comfortably within the ideal 3-15 range.
The surface covers the core read operations for all main resources: listing and fetching articles, photos, categories, tags, authors, and pages. Minor gaps include no get_author or get_page by ID, but these are unlikely to block typical agent workflows given the available list operations.