CAF Agricultura Familiar PJ
Server Details
Looks up the National Family Farming Registry (CAF) of a company from the CNPJ. Platform-hosted, no
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- mcp-dir/caf_agricultura_pj-mcp
- GitHub Stars
- 0
- Server Listing
- CAF Agricultura Familiar PJ
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.1/5 across 7 of 7 tools scored. Lowest: 3.4/5.
Most tools have distinct purposes: authenticate handles login, connect shows connection status, marketplace handles discovery and invocation, report_bug sends feedback, show_version displays versions, toolkit_info shows installed MCPs. The single domain tool caf_agricultura_pj_consultar is clearly separate. Minor overlap exists between connect and toolkit_info (both touch connection status), but descriptions clarify their roles.
Naming is inconsistent: some tools are bare verbs (authenticate, connect, marketplace), some are snake_case verb_noun (report_bug, show_version, toolkit_info), and one is a long Portuguese domain-specific name (caf_agricultura_pj_consultar). There is no unified pattern or verb style across the set.
Seven tools is a reasonable number for a general platform toolkit. However, the server name suggests a CAF-specific domain, yet only one tool is actually CAF-related; the rest are generic platform utilities. The count itself is fine, but the scope is slightly mismatched with the server's title.
The platform tooling is fairly complete: authentication, connection status, marketplace search/run, bug reporting, version info, and toolkit state cover common needs. The CAF domain has a single query tool, which may be sufficient for a simple lookup, but lacks any additional operations like batch queries or listing categories. Minor gaps, but no critical dead ends.
Available Tools
7 toolsauthenticateAIdempotentInspect
MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header Authorization: Bearer <token> for a permanent, non-expiring connection. Or paste it here for a session-only login: call with { token: "" } after the user pastes, or with no args to get the link.
| Name | Required | Description | Default |
|---|---|---|---|
| token | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (idempotentHint: true, readOnlyHint: false), the description discloses behavioral nuances: the difference between permanent non-expiring access via config versus session-only login via token, and the no-args behavior returning a login link. This adds valuable context about side effects and persistence.
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?
The description is fairly compact but information-dense, covering all usage modes in three sentences. It's not overly verbose, though the structure could be improved slightly with bullet points for clarity. Every sentence serves a purpose.
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?
For an auth tool with no output schema, the description adequately explains the primary behaviors: getting a link, passing a token, and the permanent vs. session distinction. It does not describe return values explicitly, but the link output is implied for no-args calls, and the overall flow is sufficiently complete.
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?
The schema has one optional 'token' parameter with zero description. The description explicitly explains the token's purpose (JWT to paste) and the no-args case (returns link), fully compensating for the schema's lack of detail. This is strong parameter documentation.
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 clearly states this tool handles authentication for MCP.AI in IDE agents, specifying the login flow via browser and token extraction. It distinguishes itself from siblings by focusing on the OAuth token exchange, though it does not explicitly contrast with the 'connect' sibling.
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 description offers clear context on how to use the tool—either by configuring a permanent Bearer header or passing a token for session-only login, and using no args to get a link. However, it does not explicitly state when to choose this tool over alternatives like 'connect'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
caf_agricultura_pj_consultarARead-onlyIdempotentInspect
Consulta o Cadastro Nacional da Agricultura Familiar (CAF) de uma pessoa jurídica a partir do CNPJ. Hospedado pela plataforma, sem credenciais, pague por consulta com crédito pré-pago. Consulta informação de ACESSO PÚBLICO em bases e fontes oficiais (a mesma disponível ao cidadão), não é dado privado nem sigiloso. O cliente é o controlador dos dados e responde pela finalidade legítima (LGPD).
| Name | Required | Description | Default |
|---|---|---|---|
| CNPJ | Yes | ||
| completo | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite having readOnlyHint and idempotentHint annotations, the description adds crucial behavioral details: the paid-per-query nature, the public-access status, and the LGPD data-controller responsibility. It also confirms no credentials are needed, going beyond 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?
The description is short and front-loaded with the core purpose. It includes necessary legal and access context without becoming verbose, though the LGPD sentence may be considered tangential for tool selection.
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?
The tool is simple with two parameters and no output schema. The description covers purpose, access, and payment, but the missing semantics for the 'completo' parameter and lack of any return-value hint make it incomplete for a fully informed call.
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?
The schema has 0% description coverage. The description explains that CNPJ is the identifier but does not clarify the 'completo' boolean parameter at all. It also does not specify CNPJ formatting requirements, leaving a significant gap in parameter understanding.
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 clearly states the tool queries the CAF (National Registry of Family Agriculture) for a legal entity (PJ) using CNPJ. It explicitly names the resource and the lookup key, and it is distinct from all sibling tools, which are generic platform operations.
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 description gives clear context: it queries public data by CNPJ, requires prepaid credits, and does not need credentials. It does not explicitly mention when not to use the tool or provide alternative tools, but siblings are unrelated, so this is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
connectARead-onlyIdempotentInspect
Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns connect_url for the toolkit and per-install URLs.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint, idempotentHint), the description adds valuable behavioral context: it explains what the return payload looks like in different scenarios (authenticated:true with empty pending[], or connect_url). This goes well beyond the structured hints.
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?
The description is three concise sentences, front-loaded with the primary purpose. Every sentence adds distinct information without any filler or redundancy.
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?
For a simple status-check tool with no parameters and good annotations, the description covers the main states (all connected vs. missing credentials) and the corresponding outputs. No significant gaps are apparent.
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?
The tool has zero parameters, so the schema fully covers parameter semantics. The baseline for 0-param tools is 4, and the description doesn't need to add parameter details.
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 clearly states 'Returns connection status and URLs', a specific verb+resource pairing. However, it doesn't explicitly differentiate from sibling tools like 'authenticate', though the purpose is distinct enough.
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 description implies when to use the tool by describing conditional outputs (all providers connected vs. credentials missing), but it never explicitly states 'use this to check connection status' or mentions any alternatives. Usage context is implied rather than direct.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplaceAInspect
The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like "find an MCP that does X", "consulta um CPF", "is there a tool for Y". Core flow: action=search discovers MCPs by intent → describe returns one MCP's full profile (every tool with its id + params, pricing, auth) so you pick the right tool_id → invoke RUNS that tool. KEY: invoke works even when the MCP is NOT installed — it runs the tool pontualmente (one-off), without adding the MCP to the toolkit and without bloating the tool list. If the MCP needs a credential/login, invoke returns a connect link; if it is paid and the wallet is empty, invoke returns a checkout/top-up link (the user opens it, then you retry). Use install only to make an MCP PERMANENT in the active toolkit (its tools then show up natively in future sessions); prefer invoke for a single/occasional use. list_tools lists what is callable right now. subscribe/cancel handle per-MCP billing; report_bug sends feedback; request_mcp asks us to build a NEW MCP when nothing fits. Search/describe flag installed_in_toolkit vs installed_in_workspace. Writes (install/uninstall/subscribe/cancel and the one-off install behind invoke) require workspace owner/admin. It also carries the mcp.ai PROMPT LIBRARY, which is about ready-made prompt TEXT rather than MCPs: search_prompts finds one, get_prompt returns its full text with {{variables}} filled, and publish_prompt saves a prompt and returns a shareable mcp.ai/p/ link that opens without login.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | ||
| action | No | search | |
| mcp_id | No | ||
| message | No | ||
| tool_id | No | ||
| arguments | No | {} | |
| immediate | No | ||
| tier_slug | No | ||
| prompt_body | No | ||
| prompt_slug | No | ||
| prompt_tool | No | ||
| prompt_vars | No | {} | |
| conversation | No | [] | |
| prompt_title | No | ||
| request_name | No | ||
| cancel_reason | No | ||
| cancel_comment | No | ||
| prompt_targets | No | ||
| report_context | No | ||
| prompt_category | No | ||
| request_details | No | ||
| prompt_description | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only state readOnlyHint=false, idempotentHint=false, destructiveHint=false, and openWorldHint=true. The description goes far beyond: it reveals that invoke runs the MCP one-off without installing, that credential/payment gaps produce connect/checkout links followed by a retry, that writes (install/uninstall/subscribe/cancel and the one-off install behind invoke) require workspace owner/admin, and that search/describe flag installed_in_toolkit vs installed_in_workspace. This is rich behavioral context with no contradiction.
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?
The description is long but every sentence carries operational detail, covering the method, side effects, auth, edge cases, and the additional prompt library. It is front-loaded with the purpose and uses clear connectors ('Core flow', 'KEY', 'Use install only'). It could be better structured with bullets or sections given the breadth, but the density is justified by the tool's ambition.
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?
Against a 23-parameter tool with no output schema, the description is remarkably complete on behavior, flows, and caveats: it explains one-off execution, connect/checkout retries, permanent installs, billing actions, and the prompt library. It omits response/output formats and the 'resume' action, and does not enumerate required parameters per action, so it is not fully complete, but it covers the essential operational context an agent needs.
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?
With 0% schema description coverage, the description must compensate. It successfully explains the central 'action' parameter by walking through all enum values (except 'resume') and clarifies the roles of tool_id and mcp_id in the describe→invoke flow. However, many of the 23 parameters (e.g., immediate, tier_slug, conversation, cancel_comment, report_context, prompt_targets) remain unexplained, and the description does not map parameters to each action systematically. Thus it adds meaning for the core flow but leaves significant gaps.
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 opens with a crisp definition: 'The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them.' It enumerates the core flow (search→describe→invoke) and names each action (search, describe, install, invoke, list_tools, subscribe/cancel, report_bug, request_mcp, prompt library). This clearly distinguishes the marketplace from sibling tools like connect or authenticate, which are singular-purpose.
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 description provides explicit guidance for the key decision: 'Use install only to make an MCP PERMANENT in the active toolkit; prefer invoke for a single/occasional use.' It also explains when to use list_tools, subscribe/cancel, report_bug, and request_mcp. However, it does not explicitly contrast with sibling tools (e.g., standalone report_bug vs. the report_bug action), and the 'resume' action is never mentioned. Still, the usage context is largely clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_bugBIdempotentInspect
Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction.
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | ||
| message | Yes | ||
| conversation | No | [] |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate idempotentHint=true, readOnlyHint=false, and destructiveHint=false. The description adds that conversation history should be included for reproduction, which is useful context, but it does not describe what happens after submitting, response format, or any side effects.
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?
Two short, front-loaded sentences. The first states the purpose, and the second gives the key usage instruction. No filler or redundancy.
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?
The tool is simple, but with no output schema and 0% schema description coverage, the description should explain more. It leaves the 'message' and 'context' parameters undefined, and the 'conversation' format is misleading. Essential user guidance for parameter usage is missing.
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. It only explains 'conversation' (for reproduction) and incorrectly calls it an 'array' when the schema defines it as a string. The required 'message' parameter and the 'context' parameter are not explained at all.
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 clearly states the tool's purpose with a specific verb ('Report') and resource (bugs, missing features, feedback). It is distinct from sibling tools like 'authenticate' or 'marketplace', though it does not explicitly name alternatives.
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?
It gives clear use cases: reporting bugs, missing features, or feedback. It also provides practical guidance to include the conversation for reproduction, though it does not mention when not to use the tool or suggest alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
show_versionARead-onlyIdempotentInspect
Show the current MCP platform and adapter versions.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds the specific scope (platform and adapter versions), but no additional behavioral traits such as caching, error conditions, or response format. It doesn't contradict 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?
The description is a single, concise sentence that immediately conveys the tool's purpose with no wasted words.
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?
For a simple read-only tool with no parameters, the description fully covers what the tool does. No output schema exists, but the expected output is obvious from the description.
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?
There are zero parameters, so the baseline is 4. The description correctly implies no inputs are needed and adds no parameter-related details, which is appropriate.
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 clearly states the tool shows the current MCP platform and adapter versions, using a specific verb ('Show') and specific resources. It is distinct from siblings, which are unrelated actions.
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 tool's purpose is self-explanatory and there are no similar alternatives among siblings, so the context is clear. However, no explicit when/when-not guidance is provided, though it isn't necessary for such a trivial tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
toolkit_infoARead-onlyIdempotentInspect
Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose readOnlyHint=true, idempotentHint=true, and destructiveHint=false, setting a low bar. The description adds useful context about the exact contents of the returned state (installed MCPs, connection status, accounts, catalog counts) beyond the annotations. It does not mention output format or error behavior, but for a zero-parameter read-only tool this is acceptable.
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?
The description is a single, well-structured sentence that front-loads the core purpose ('Returns the current toolkit state') followed by a clear, colon-separated enumeration of the returned contents. Every word earns its place with no redundancy.
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?
Given the tool has no parameters, no output schema, and strong annotations covering safety, the description is complete. It fully specifies what the tool returns (installed MCPs, connection status, accounts, catalog counts), which is sufficient for a simple information-retrieval tool.
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?
The tool has zero parameters, so the baseline is 4. The description appropriately says nothing about parameters because none exist, and the schema's 100% coverage confirms this.
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 uses a specific verb ('Returns') and names a clear resource ('current toolkit state'), then enumerates exactly what that state includes (installed MCPs, connection status, connected accounts, catalog tool counts). This distinctly differentiates it from siblings like show_version or authenticate.
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 description clearly conveys what the tool offers (a snapshot of the toolkit's MCPs, connections, and accounts), giving the agent strong context for when to use it. However, it does not explicitly mention alternatives or exclusions relative to sibling tools, so it falls just short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Alicense-qualityCmaintenanceConsulta o Cadastro Nacional da Agricultura Familiar (CAF) de uma pessoa física a partir do CPF, com uma ferramenta somente leitura.MIT
- Alicense-qualityCmaintenanceProvides Brazilian company basic registration data (legal name, status, legal nature) from CNPJ through a single read-only MCP tool, hosted with pay-per-use credits.MIT
- Alicense-qualityCmaintenanceBrazilian company-registry lookup via Receita Federal, allowing AI agents to query CNPJ data.7MIT
- Alicense-qualityCmaintenanceMCP server to query Brazil's rural property registry (CAFIR) using the CIB code, providing read-only consultation of rural property data via a hosted API with prepaid credits.MIT
Your Connectors
Sign in to create a connector for this server.