get_project_facts
Get current evidence-backed public facts for one project.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| locale | No | en | |
| project_id | Yes | ||
| request_id | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Get current evidence-backed public facts for one project.
| Name | Required | Description | Default |
|---|---|---|---|
| locale | No | en | |
| project_id | Yes | ||
| request_id | No |
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Changes observed during successful MCP inspections. Dates show when Glama detected each change.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive, open-world behavior. The description adds useful context beyond those hints: facts are 'current', 'evidence-backed', and 'public', which shapes agent expectations about freshness, sourcing, and visibility without contradicting the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. Every modifier ('current', 'evidence-backed', 'public', 'one project') carries meaningful information that helps an agent invoke the tool correctly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, rich annotations, and only one required parameter, the tool is simple enough that the description plus schema covers what an agent needs to call it. Minor gaps around parameter semantics and sibling differentiation exist, but nothing essential is missing for basic correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, but it does not explain locale, request_id, or even explicitly map 'one project' to project_id. Only the enum/default in the schema and the parameter names give agents any hint about parameter purpose, leaving obvious gaps for locale formatting and request correlation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Get'), resource ('evidence-backed public facts'), and clear scope ('for one project'), immediately separating this from broader list/search/overview siblings like browse_radar_projects and get_radar_overview. It is direct and unambiguous about what the tool returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for one project' clearly frames when this tool is appropriate: when the agent needs focused facts about a specific project rather than a list, comparison, or overview. It does not explicitly name alternatives or exclusion cases, but the context is clear enough to guide selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Each tool has a generally distinct role: browsing radar views, searching projects, getting facts, comparing, composing stacks, and finding alternatives. A couple of tools—notably browse_radar_projects and search_ai_projects—could be confused, but their descriptions clarify exploratory browsing versus requirement-driven search.
All tool names follow a consistent snake_case verb_noun pattern: browse_*, get_*, search_ai_projects, compare_ai_projects, compose_ai_stack, find_alternatives. The naming makes the action and target object immediately clear across the entire set.
Nine tools is a well-scoped size for an open-source AI intelligence and decision-support server. Each tool covers a distinct part of the workflow without feeling bloated or redundant.
The set covers the main workflow well: overview, browsing, search, project facts, license evidence, comparison, stack composition, and alternatives. Minor gaps like project tracking/history or export utilities are non-essential for this kind of intelligence/decision-support surface.