DataPrem MCP Server
Server Quality Checklist
Latest release: v0.4.0
- Disambiguation5/5
Each tool queries a distinct official Spanish database—cadastre, business registry, judicial decisions, and public tenders—so there is zero overlap in purpose. An agent can easily select the correct tool based on the desired data source.
Naming Consistency4/5All tools share the 'dataprem_' prefix and use a consistent snake_case pattern with domain-specific terms. The only minor inconsistency is mixing 'lookup' (catastro) with 'search' (the other three), though both imply similar retrieval actions.
Tool Count5/5Four tools is a well-scoped count for a server dedicated to Spanish public data access. Each tool covers a distinct domain, and the number is neither too thin nor overwhelming.
Completeness4/5The set covers major Spanish public registries relevant to business, legal, and property queries. However, it lacks access to other common official sources like the BOE (official gazette) or trademark registry, leaving minor gaps in the surface.
Average 4.1/5 across 4 of 4 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 10 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is passing
This repository is licensed under MIT License.
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?
No annotations are provided, so the description must fully disclose behavior. It does not mention return format, pagination, limitations, or any side effects. It only describes the action and parameters, leaving the agent to infer expectations.
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 short, front-loaded with the main verb, and clearly separated into purpose and parameter sections. Every sentence adds value without redundancy.
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?
For a simple 3-parameter search tool with an output schema, the description covers purpose, source, and parameter semantics adequately. It lacks explicit behavioral constraints, but the output schema reduces the need for return value details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has no parameter descriptions, but the description compensates by explaining each parameter: query, location, and status with its valid values and default. This provides meaningful guidance beyond the raw schema.
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 states a specific action ('Busca licitaciones y contratos públicos') and a clear resource ('Plataforma de Contratación del Sector Público'), making its purpose unmistakable. It is clearly distinct from sibling tools covering cadastre, business registry, and judicial documents.
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 implies usage through its domain focus (tender search), but does not explicitly state when to use it over alternatives or when not to use it. There is no mention of alternative tools or exclusion cases.
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, the description carries the burden of behavioral disclosure. It explains the search scope and provides parameter nuance, but it does not disclose any limitations, side effects, authentication needs, or pagination behavior. As a search tool, read-only is implied but not stated.
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 front-loaded with the main purpose and efficiently uses an Args block to document parameters. It is not overly verbose, though the Args section could be slightly more compact. Every sentence earns its place.
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?
For a simple search tool with an output schema and all parameters described, the description is adequately complete. It covers the what, scope, and parameter formats. Minor missing details like date inclusivity or result limits are not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description's 'Args' section fully defines each parameter: query (free text), court (examples given), and date_from (format specified). This adds significant meaning beyond the bare schema, providing examples and clarifying optionality.
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 searches judicial resolutions in CENDOJ, listing specific document types (sentencias, autos, providencias) and the scope (all Spanish jurisdictional orders). This distinguishes it from sibling tools like Catastro lookup or Borme search, which target different data domains.
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 implies usage by describing the resource and supported courts, but it does not explicitly state when to use this tool versus alternatives, nor does it mention any exclusions or prerequisites. Sibling tools are clearly different, so the context is implicit rather than explicit.
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, the description carries the burden of behavioral disclosure. It implies a read-only search operation via verbs like 'busca' and 'localizar', but it does not disclose output format, pagination, error behavior, or any side effects. The description adds some context (act types, date range) but lacks richer behavioral traits.
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 concise and well-structured: a clear opening sentence stating the purpose, followed by a compact, tagged parameter list. Every sentence contributes value, and there is no redundancy or extraneous detail.
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?
The tool has a simple 3-parameter schema and an output schema is present, so the description need not explain return values. However, it leaves minor gaps, such as whether company_name searching is exact or partial and whether date ranges are inclusive. Overall, it is largely complete for a basic search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description compensates for the 0% schema coverage by providing an Args section that explains each parameter: company_name (nombre o razón social), date_from (formato YYYY-MM-DD, opcional), and date_to (formato YYYY-MM-DD, opcional). This fully documents all three parameters, adding meaning beyond the bare schema.
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 function: 'Busca actos registrales en el BORME' (searches registry acts in the BORME), and it lists specific act types (constitución, nombramientos, ceses, ampliaciones de capital). This specific verb+resource pair distinguishes it from sibling tools like catastro, cendoj, and tenders, which target different data sources.
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: it is used to find commercial registry acts for a company, with optional date range filtering. It does not explicitly mention exclusions or alternatives, but the distinct domain (BORME) compared to siblings (catastro, cendoj, tenders) makes the usage context clear, though not explicitly contrasted.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It discloses a key behavioral limitation: the endpoint does not expose 'titular' because of the free SOAP and public API LOPD/GDPR constraints, and mentions a future authorized pipeline. It also summarizes the normalized record and return breakdown, giving the agent a good behavioral model. Minor gaps: no error behavior or required-coupling enforcement, but the search-mode rules are stated.
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 well-structured with a clear lead sentence, bullet-style mode summaries, a brief output summary, and an Args list. A bit lengthy due to the GDPR/future-pipeline note, but that content provides meaningful behavioral context and earns its place.
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?
For a lookup with an output schema present, the description covers the two valid input modes, the expected response shape (class, use, surfaces, construction year, INE codes, constructions[]), and a privacy limitation. It doesn't specify what happens on invalid/no-match input, but the overall context is sufficient for a competent agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage and all four params are nullable with no descriptions, so the description must add meaning. It does: refcat length (14/18/20), address format ('tipo + nombre + número'), city as municipality, province as optional, and the mode-based coupling (address+city). This substantially compensates for schema gaps.
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?
Description opens with 'Consulta datos catastrales de un inmueble en el Catastro español', naming exact verb, resource, and domain. It distinguishes this from sibling tools (BORME, CENDOJ, tenders) by focusing on the Spanish cadastre, and clarifies the two lookup modes.
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?
It explicitly defines two mutually exclusive search modes ('Por referencia catastral' vs 'Por dirección') and states which parameters to pass, with province optional. It also warns that owner/titular data is not exposed, which is a clear when-not-to-use indicator. However, it doesn't explicitly contrast with sibling tools, though they are clearly different domains.
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/tekniadev/dataprem-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server