Iceland News MCP Server
Server Quality Checklist
Latest release: v1.0.0
- Disambiguation5/5
Each tool has a clearly distinct purpose with no overlap: cache_stats monitors performance, check_feeds checks feed health, get_news fetches latest news, list_feeds lists available feeds, and search_news searches for articles. The descriptions reinforce these distinct roles, making tool selection unambiguous for an agent.
Naming Consistency5/5All tool names follow a consistent verb_noun pattern using snake_case: cache_stats, check_feeds, get_news, list_feeds, and search_news. This predictability enhances readability and usability, with no deviations in style or convention across the set.
Tool Count5/5With 5 tools, the server is well-scoped for its purpose of providing Icelandic news access. Each tool earns its place by covering essential functions like fetching, searching, listing feeds, checking health, and monitoring performance, avoiding bloat or thin coverage.
Completeness4/5The tool set covers core workflows for news retrieval and feed management, including fetching, searching, listing, and health checks. A minor gap exists in update or deletion operations (e.g., managing cached data or feeds), but agents can work around this for the stated purpose of accessing Icelandic news.
Average 3.4/5 across 5 of 5 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- 0 of 1 community issues answered or closed in the last 6 months
- No commit activity data available
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI status not available
Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.
If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.
MCP servers without a LICENSE cannot be installed.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions searching 'titles and descriptions' and 'all Icelandic news sources', but doesn't cover important aspects like rate limits, authentication requirements, pagination behavior, error conditions, or what happens when no results are found. For a search tool with zero annotation coverage, this leaves significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is perfectly concise - two clear sentences with zero wasted words. The first sentence establishes the core functionality, and the second adds important scope information about searching titles and descriptions. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there's an output schema (which means return values are documented elsewhere), the description covers the basic purpose adequately. However, for a search tool with 4 parameters and no annotations, it should ideally provide more context about behavioral aspects like result ordering, freshness, or limitations. The description is minimally complete but lacks depth.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 4 parameters thoroughly. The description adds minimal value beyond the schema - it mentions 'keyword or phrase' which aligns with the query parameter, but doesn't provide additional context about parameter interactions or search semantics. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Search across all Icelandic news sources for articles matching a keyword or phrase.' It specifies the verb (search), resource (Icelandic news articles), and scope (across all sources). However, it doesn't explicitly differentiate from sibling tools like 'get_news' or 'check_feeds', which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'get_news' or 'check_feeds'. It mentions searching 'titles and descriptions' but doesn't clarify if this is the primary search method or when other tools might be more appropriate. No exclusions or prerequisites are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the tool checks 'health and availability' but doesn't specify what that entails (e.g., HTTP status codes, response times, error details), whether it performs network requests, potential side effects like caching, or rate limits. The description adds minimal context beyond the basic purpose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences: the first states the purpose, and the second provides usage context. It's front-loaded with the core functionality. However, the second sentence ('Useful for debugging and monitoring.') could be more integrated or specific to enhance clarity without adding waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has an output schema (which handles return values), 2 parameters with full schema coverage, and no annotations, the description is minimally adequate. It covers the purpose and basic usage but lacks details on behavior, error handling, or integration with siblings. For a monitoring tool, more context on what 'health' entails would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with clear descriptions for both parameters ('sources' and 'timeout'). The description doesn't add any parameter-specific semantics beyond what the schema provides (e.g., it doesn't explain what 'health' means in relation to 'sources' or how 'timeout' affects the check). Baseline 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Check the health and availability of RSS feeds' with specific verbs ('check', 'health', 'availability') and resources ('RSS feeds'). It distinguishes from siblings like 'get_news' or 'search_news' by focusing on monitoring rather than content retrieval. However, it doesn't explicitly differentiate from 'list_feeds', which might be a related listing operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides implied usage context: 'Useful for debugging and monitoring.' This suggests when to use it (for health checks) but doesn't explicitly state when not to use it or name alternatives. For example, it doesn't clarify if this should be used instead of 'list_feeds' for availability checks or how it relates to 'get_news' for content access.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool lists feeds and returns structured metadata, which implies a read-only operation, but doesn't cover aspects like rate limits, authentication needs, error handling, or pagination. This is adequate for a simple list tool but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences with zero waste: the first states the purpose and scope, and the second specifies the return type. It's front-loaded and appropriately sized for a simple tool, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (1 optional parameter) and the presence of an output schema (which handles return values), the description is reasonably complete. It covers the core functionality and return type, though it could benefit from more behavioral context or usage guidance to reach a perfect score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, detailing the 'source' parameter with enum values and a default. The description adds no parameter-specific information beyond what the schema provides, so it meets the baseline of 3 for high schema coverage without compensating value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List all available news feeds') and resource ('from Icelandic news sources'), providing a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like 'get_news' or 'search_news' which might have overlapping functionality, keeping it from a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'get_news' or 'search_news'. It mentions the return type ('structured feed metadata') but offers no context about use cases, prerequisites, or exclusions, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the tool's purpose and utility but lacks details on behavioral traits like permissions needed, rate limits, error conditions, or what the output looks like (though an output schema exists). The description doesn't contradict annotations (none provided), but it's minimal beyond the basic operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded: the first sentence states the core purpose, and the second adds context without redundancy. Every sentence earns its place by providing essential information efficiently, with zero waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (1 parameter, no nested objects), high schema coverage (100%), and the presence of an output schema, the description is reasonably complete. It covers the purpose and utility, though it could benefit from more behavioral context (e.g., performance implications). The output schema reduces the need to explain return values, making this adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no parameter semantics beyond what the input schema provides. The schema has 100% description coverage for its single parameter ('clearCache'), clearly explaining its effect. With high schema coverage, the baseline is 3, as the description doesn't need to compensate but also doesn't add value regarding parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs ('Get cache statistics') and resources ('cache statistics including hit/miss rates and entry counts'). It distinguishes itself from sibling tools (which are about feeds/news) by focusing on cache monitoring. However, it doesn't explicitly differentiate from potential cache-related siblings if they existed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides implied usage guidance with 'Useful for monitoring performance,' suggesting when this tool might be appropriate. However, it doesn't explicitly state when to use it versus alternatives, nor does it mention any prerequisites or exclusions. The sibling tools are unrelated (feeds/news), so no comparative guidance is needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool fetches news, supports date filtering, and returns structured data, covering basic operation and output. However, it lacks details on rate limits, authentication needs, error handling, or whether it's a read-only operation (implied by 'fetch' but not explicit). The description adds value but misses key behavioral traits for a tool with 6 parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with two sentences that are front-loaded: the first states the core purpose and sources, the second adds key features (date filtering, return format). Every sentence earns its place by providing essential information. It could be slightly more structured by explicitly separating functionality from output details, but it's efficient with zero waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (6 parameters, no annotations, but with output schema), the description is reasonably complete. It covers what the tool does, sources, key features, and return data. With an output schema present, it doesn't need to explain return values in detail. However, for a news-fetching tool with multiple parameters and siblings, it could benefit from more explicit behavioral context or usage examples.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all 6 parameters with descriptions, defaults, and constraints. The description adds minimal value beyond the schema, mentioning 'supports date filtering' (hinting at since/until parameters) and listing some sources, but doesn't explain parameter interactions or provide additional semantic context. Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs ('fetch', 'returns') and resources ('Icelandic news', 'NewsItem data'). It distinguishes from siblings by specifying it fetches 'latest' news from specific sources with date filtering, unlike search_news (likely for searching), list_feeds (listing feeds), check_feeds (checking status), and cache_stats (monitoring cache).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool: to get the latest news with date filtering from Icelandic sources. It implicitly distinguishes from search_news by not mentioning search functionality, but lacks explicit guidance on when to choose this over search_news or other siblings. The input schema references list_feeds for feed options, adding some usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/olibuijr/iceland-news-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server