Proximens Oracle
Server Details
1000+ Generative Engine Optimization (GEO) principles exposed via MCP for AI agents.
- Status
- Healthy
- Uptime
- 100.0% over 38 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 8 tools
Each tool targets a distinct action: single URL audit, comparative audit, semantic search, batched search, fetch-by-ID, taxonomy listing, corpus stats, and content brief generation. Search vs bulk_search and audit vs compare are clearly framed as single/batch and single/paired variants, so misselection risk is low.
All eight tools follow the same snake_case proximens_geo_ prefix followed by an action verb and target noun: audit_url, compare_urls, get_principle, get_stats, list_categories, search_principles, bulk_search, synthesize_brief. The naming pattern is uniform and makes the toolset easy to scan and predict.
Eight tools is a well-scoped footprint for the server's stated purpose: exploring a GEO principle knowledge base, auditing URLs, comparing competitors, and generating GEO content briefs. Every tool serves a clear role, with no redundant filler.
The main workflows — discover, search, retrieve, audit, compare, synthesize — are well-connected with no dead ends. The two minor gaps are the absence of batch/multi-URL audit coverage and no way to page through all principles in a category in one call, since bulk_search is query batching and search_principles returns only ranked top-k results.
Available Tools
8 toolsproximens_geo_audit_urlAudit URL against Proximens GEO EngineARead-onlyInspect
Pro-tier. Fetch and analyze a web page, then audit it against the Proximens GEO Engine principles across all major GEO dimensions (structured data, crawler access, content depth, freshness, E-E-A-T, multimodal). INPUT: url (required, http/https); optional mode ("fast" = quick signal checks, returns in seconds — the default; "deep" = a full AI-synthesized consultancy report in Dutch with a 7-dimension scorecard and sector benchmark, takes ~30-50s), client_name (report header), branche_hint ("main:sub", e.g. "health_wellness:yoga_studio"), max_issues (1-25, default 10). RETURNS: JSON with a 0-100 score, severity-ranked issues (critical/major/minor) each with a finding and an actionable suggestion, top recommendations, and a markdown report; deep mode additionally returns score_set (7 GEO dimensions), sector (benchmark cohort), and a full consultancy-grade report_markdown (deep_mode="timeout_fallback" means the synthesis exceeded its budget and the fast result was returned instead). USE fast mode for quick checks and bulk triage; USE deep mode when you need a client-ready audit report. Free tier is blocked.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Target URL to audit | |
| mode | No | fast = quick signal checks (seconds); deep = full AI-synthesized consultancy report with sector benchmark (~30-50s) | fast |
| max_issues | No | Maximum issues to return (default 10) | |
| client_name | No | Optional client identifier for the audit report header | |
| branche_hint | No | Branche hint in "main:sub" format, e.g. "health_wellness:yoga_studio". If omitted, principles are matched without branche filter. |
Output Schema
| Name | Required | Description |
|---|---|---|
| _wm | No | |
| url | Yes | |
| _meta | No | |
| error | No | |
| score | No | |
| sector | No | Detected sector benchmark cohort (deep mode only) |
| status | Yes | |
| signals | No | |
| audit_id | Yes | |
| deep_mode | No | Deep-mode outcome: ok = full synthesized report; timeout_fallback = synthesis exceeded budget, fast result returned |
| score_set | No | 7-dimension GEO scorecard (deep mode only) |
| recommendations | No | |
| report_markdown | No | |
| matched_principles | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds significant context beyond annotations: describes fetch+analyze behavior, fast vs deep modes with timing, and deep mode timeout fallback. Annotations already signal read-only and open-world; description enriches with operational details.
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?
Well-structured with clear sectioning (INPUT, RETURNS, USE). Slightly verbose on deep mode fallback description, but overall efficient and front-loaded.
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 output schema exists, description covers all necessary aspects: input format, mode options, return structure including fallback, and usage guidance. Complete for a tool of this complexity.
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 coverage is 100% lowering burden, but description adds value: explains mode trade-offs, branche_hint format and fallback, max_issues default. Goes beyond schema repetition.
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?
Clearly states the tool fetches and audits a web page against GEO engine principles. Distinguishes from siblings like bulk_search and compare_urls by focusing on single URL audit.
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?
Provides explicit guidance: 'USE fast mode for quick checks and bulk triage; USE deep mode when you need a client-ready audit report.' Notes free tier blocked. Does not explicitly mention when not to use, but context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
proximens_geo_bulk_searchBulk Search Proximens GEO EngineARead-onlyIdempotentInspect
Pro-tier. Run many GEO-principle searches in a single fast call. INPUT: queries (array of 2-100 natural-language strings, each 3-500 chars); optional top_k_per_query (1-10, default 5) and category filter. RETURNS: JSON with a results array (per query: the query, its matched principles, and a count), plus total_queries, total_matches and processing time. USE WHEN you need many lookups at once, e.g. a full-site audit or a keyword list, instead of repeated search_principles calls.
| Name | Required | Description | Default |
|---|---|---|---|
| queries | Yes | ||
| category | No | ||
| top_k_per_query | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| _meta | No | |
| results | Yes | |
| total_matches | Yes | |
| total_queries | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, non-destructive. Description adds return format details (results per query, totals, processing time) and input constraints, enhancing behavioral context.
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?
Description is compact: purpose first, then parameter details, return format, and usage guidance. No redundant sentences; every sentence adds value.
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?
Covers input, output, and usage well. Missing details on category filter values (could reference list_categories) and error handling, but overall sufficient for a bulk search tool with output schema.
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 coverage is 0%, but description explains 'queries' (array of natural-language strings, length constraints), 'top_k_per_query' (range and default), and 'category filter' (though not listing enum values). Adds meaning beyond schema types.
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 'Run many GEO-principle searches in a single fast call' and distinguishes from sibling 'search_principles' by noting it avoids 'repeated search_principles calls'.
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?
Explicitly says 'USE WHEN you need many lookups at once, e.g. a full-site audit or a keyword list, instead of repeated search_principles calls', providing clear when-to-use and alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
proximens_geo_compare_urlsCompare URLs against Proximens GEO EngineARead-onlyInspect
Pro-tier. Fetch two web pages (your URL and a competitor's) and audit both against the Proximens GEO Engine principles using the same audit engine as audit_url, then compute the delta. INPUT: self_url and competitor_url (both required, http/https). RETURNS: JSON with a 0-100 score per URL (same scoring as audit_url), the principles each page satisfies, the principles each page VIOLATES that the other satisfies (delta_principles), and strategic insights on where to close the gap. USE WHEN you want a competitive GEO gap analysis between your page and a rival's.
| Name | Required | Description | Default |
|---|---|---|---|
| self_url | Yes | Your URL to audit | |
| competitor_url | Yes | Competitor URL to compare against |
Output Schema
| Name | Required | Description |
|---|---|---|
| _meta | No | |
| error | No | |
| insights | Yes | |
| self_url | Yes | |
| self_score | Yes | |
| self_matched | Yes | |
| competitor_url | Yes | |
| competitor_score | Yes | |
| delta_principles | Yes | |
| competitor_matched | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses return format (JSON with scores, principles, violations, insights) and that it uses the same engine as audit_url. No contradiction with annotations (readOnlyHint, openWorldHint).
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 sentences plus structured INPUT/RETURNS section. No wasted words, front-loaded with purpose and key details.
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?
Tool has only two simple parameters and output schema exists (referenced). Description covers usage, inputs, outputs, and differentiators. Fully adequate.
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?
Both parameters have descriptions in schema, and description adds value by noting both are required and http/https format. Schema coverage is 100%.
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?
Clearly states it compares two URLs against GEO Engine principles, differentiates from sibling audit_url. Specific verb 'compare' and resource 'URLs' with clear scope.
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?
Explicitly says 'USE WHEN you want a competitive GEO gap analysis' and contrasts with audit_url. Provides clear context for when to choose this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
proximens_geo_get_principleGet GEO principle by IDARead-onlyIdempotentInspect
Fetch one GEO principle from the Proximens GEO Engine by its UUID. INPUT: id (UUID, normally taken from a prior search_principles result). RETURNS: a single principle as JSON with id, title, summary, category and confidence; Pro/Enterprise tiers additionally return full_text, source_url, source_type, evidence_count and the last-validated timestamp. USE WHEN you already have a principle id and need its full detail — typically to drill down after search_principles.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Principle UUID (from search_principles results) |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| _wm | No | |
| title | Yes | |
| summary | Yes | |
| branches | No | |
| category | Yes | |
| full_text | No | |
| confidence | Yes | |
| similarity | No | |
| source_url | No | |
| source_type | No | |
| upgrade_hint | No | |
| evidence_count | No | |
| source_diversity | No | |
| last_validated_at | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, idempotent, and non-destructive hints. The description adds concrete behavioral context: it returns a single principle with specific fields, and notes tier-dependent additional fields. This goes beyond the annotations without contradicting them.
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?
Three sentences, front-loaded with the primary purpose, then logically structured with INPUT, RETURNS, and USE WHEN. Every sentence provides distinct value 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?
For a simple single-param fetch tool, the description fully covers the use case, return format, tier differences, and typical workflow. An output schema exists, so return values need no elaboration, but the description still supplies it. No gaps in necessary context.
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 input schema already documents id with 'Principle UUID (from search_principles results)' at 100% coverage. The description repeats this and adds 'normally taken from a prior search_principles result,' a minor enrichment. Baseline 3 is justified because the schema carries the semantic weight.
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 'Fetch one GEO principle from the Proximens GEO Engine by its UUID,' naming a specific action (Fetch), the resource (one GEO principle), and the identifier method (UUID). This clearly differentiates it from siblings like search_principles or get_stats.
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 explicitly states 'USE WHEN you already have a principle id and need its full detail — typically to drill down after search_principles.' This provides strong contextual timing but does not explicitly list alternatives or when-not-to-use scenarios, so a 4 is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
proximens_geo_get_statsGet GEO Engine statisticsARead-onlyIdempotentInspect
Return live aggregate statistics for the Proximens GEO Engine knowledge base. INPUT: none. RETURNS: JSON with total_principles (high-confidence count), total_categories, and on Pro/Enterprise also extended quality metrics (full corpus size and a confidence_distribution) plus the last-validated timestamp. USE WHEN you need to gauge the size and quality of the corpus before relying on it.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| tier_hint | No | |
| fetched_at | No | |
| total_evaluated | No | |
| total_categories | Yes | |
| total_principles | Yes | |
| last_validated_at | No | |
| last_distillation_at | No | |
| confidence_distribution | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds valuable behavioral context beyond the annotations: it discloses that the data is 'live aggregate statistics,' explains the distinction between total_principles and full corpus size on Pro/Enterprise, and mentions the last-validated timestamp. This gives the agent insight into what the results represent and when they might be incomplete.
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 compact and well-organized: it leads with the core purpose, then clearly labels INPUT, RETURNS, and USE WHEN sections. Every sentence adds necessary information without redundancy or fluff.
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 tool with no parameters and rich annotations, the description covers the essential aspects: what it returns, when to use it, and the availability caveat for Pro/Enterprise. It is fully sufficient for an agent to invoke it correctly and interpret the results.
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 zero parameters, the schema already fully covers the absence of inputs, and the description confirms 'INPUT: none.' No additional parameter explanation is needed, matching the baseline of 4 for no-parameter tools.
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 specific verb-resource pair: 'Return live aggregate statistics for the Proximens GEO Engine knowledge base.' This clearly distinguishes it from sibling tools like 'audit_url' or 'search_principles' which perform different 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 description includes an explicit 'USE WHEN you need to gauge the size and quality of the corpus before relying on it,' providing a clear use case. However, it does not name any alternatives or specify when not to use this tool, so it stops short of the highest level of guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
proximens_geo_list_categoriesList GEO principle categoriesARead-onlyIdempotentInspect
List the GEO principle taxonomy of the Proximens GEO Engine with a live count of high-confidence principles per category. INPUT: none. RETURNS: JSON with a categories array of {category, count, description} sorted by count, plus a reconciled total that matches get_stats.total_principles. Categories: technical, structured-data, ai-search, content, e-e-a-t, freshness, multimodal, user-signals, performance, query-intent, internal-linking, mobile, other. USE WHEN you want to discover which categories exist before narrowing a search_principles call with the category filter.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| total | Yes | |
| cached | Yes | |
| categories | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint. Beyond that, the description discloses the exact output schema (categories array with category, count, description), sorting by count, and a reconciled total that matches get_stats.total_principles. This adds valuable behavioral context about return structure and consistency.
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 well-structured with sections (INPUT, RETURNS, USE WHEN) and is front-loaded with its purpose. The category list is useful but adds length; overall it is concise but slightly verbose, earning a 4 rather than 5.
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, zero-parameter read-only tool with output schema and annotations, the description fully covers purpose, output format, category enumeration, and use case. It also includes a consistency guarantee with get_stats.total_principles, leaving no meaningful gaps.
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?
Tool has zero parameters, and the input schema states 'No input parameters' (100% coverage). Description confirms 'INPUT: none.' Per the baseline for 0 parameters, this is a 4; the description does not 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?
Description opens with a specific verb+resource: 'List the GEO principle taxonomy of the Proximens GEO Engine with a live count of high-confidence principles per category.' It clearly distinguishes from siblings by noting the categories can be used to narrow a search_principles call.
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?
Explicit 'USE WHEN' clause: 'USE WHEN you want to discover which categories exist before narrowing a search_principles call with the category filter.' This names the alternative tool (search_principles) and gives a concrete scenario, satisfying the need for when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
proximens_geo_search_principlesSearch GEO principles (Proximens GEO Engine)ARead-onlyIdempotentInspect
Semantic search over the Proximens GEO Engine: a curated, continuously-updated knowledge base of 4.000+ verified Generative Engine Optimization (GEO/AEO) principles, each graded by a 0-1 confidence score and traceable to a verified source. INPUT: query (natural language, 3-500 chars); optional category (one of 13 GEO categories), top_k (1-25, default 10), min_confidence (0-1, default 0.5). RETURNS: ranked principles as JSON, each with id, title, summary, category, confidence and a relevance score; Pro/Enterprise tiers additionally return full_text and source. USE WHEN you need evidence-backed answers about how AI search engines (ChatGPT, Perplexity, Gemini, Google AI Overviews, Copilot) select, rank and cite web content.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Natural-language search query (e.g. "schema markup for local businesses" or "how to optimize for ChatGPT citations") | |
| top_k | No | Number of principles to return (max 25) | |
| category | No | Filter by category (one of 13 GEO categories) | |
| min_confidence | No | Minimum confidence score (0-1). Default 0.5 filters noise; raise to 0.8+ for high-confidence claims only |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes | |
| tier_note | No | Free-tier hint when top_k was capped |
| query_used | Yes | |
| total_in_database | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so the safety profile is known. The description adds meaningful context: the knowledge base is curated, continuously updated, has 4,000+ principles with confidence scores and source tracing, and Pro/Enterprise tiers return additional fields (full_text, source). This goes beyond annotations to clarify behavior.
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 well-structured with INPUT, RETURNS, and USE WHEN sections. Each sentence conveys essential information: knowledge base characteristics, parameter constraints, output format, and usage context. No filler or repetition.
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 4 parameters, an output schema, and rich annotations, the description is complete: it explains what the knowledge base is, input constraints, return fields with tier differences, and when to use it. It leaves little ambiguity for an agent deciding whether to invoke this 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?
Schema coverage is 100% with detailed parameter descriptions for query, top_k, category, and min_confidence. The description summarizes these, including the same min_confidence advice already in the schema ('Default 0.5 filters noise; raise to 0.8+ for high-confidence claims only'). It adds the semantic-search framing but no new parameter-level meaning.
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 'Semantic search over the Proximens GEO Engine', a specific verb+resource pair that clearly identifies the operation. It uniquely positions this tool against siblings like proximens_geo_audit_url or proximens_geo_get_principle by emphasizing search over a structured knowledge base of GEO principles.
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 'USE WHEN' clause provides explicit guidance: 'when you need evidence-backed answers about how AI search engines (ChatGPT, Perplexity, Gemini, Google AI Overviews, Copilot) select, rank and cite web content.' This clearly separates it from audit/compare tools, though it does not explicitly name alternative tools or list when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
proximens_geo_synthesize_briefSynthesize Content Brief from Proximens GEO EngineARead-onlyInspect
Generate a structured, GEO-optimized content brief for a topic using the Proximens GEO Engine. INPUT: topic (3-200 chars); optional target_branche (one of 7 verticals), word_count_target (300-5000, default 1500) and up to 3 competitor_urls. RETURNS: JSON with a suggested H1 and H2 section structure with key points, the principles the content should address, and (Pro/Enterprise) FAQ suggestions and recommended schema.org markup. USE WHEN you need to brief a writer so a page is built to be cited by AI search engines.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | Yes | ||
| target_branche | No | ||
| competitor_urls | No | ||
| word_count_target | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| _meta | No | |
| topic | Yes | |
| brief_id | Yes | |
| schema_markup | No | |
| faq_suggestions | No | |
| suggested_structure | Yes | |
| estimated_word_count | Yes | |
| principles_to_address | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. Description adds that it returns JSON with specific structure (H1, H2, FAQ, schema markup), which is useful but does not disclose additional behavioral traits like auth requirements or error handling.
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?
Four concise sentences: purpose, input, output, usage. No fluff. Each sentence adds distinct value, front-loaded with the core action.
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 4 parameters, output schema description, and annotations, the description covers inputs, outputs, and usage. Missing minor details like error states or rate limits, but overall largely complete for an API 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?
Schema coverage is 0%, so description must compensate. It does so by paraphrasing all parameters with ranges, defaults, and constraints (e.g., 'one of 7 verticals', '300-5000, default 1500', 'up to 3 competitor_urls'). This adds readability and context beyond the raw schema.
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?
Description explicitly states it generates a structured GEO-optimized content brief. It differentiates from sibling tools like audit, bulk search, etc. by specifying the use case: 'USE WHEN you need to brief a writer so a page is built to be cited by AI search engines.'
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?
Description provides clear when-to-use guidance via 'USE WHEN...' and lists input constraints. It does not include negative guidance (when not to use) or explicitly compare to siblings, but the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
16 tool updates
- Added
proximens_geo_audit_url - Added
proximens_geo_bulk_search - Added
proximens_geo_compare_urls - Added
proximens_geo_get_principle - Added
proximens_geo_get_stats - Added
proximens_geo_list_categories - Added
proximens_geo_search_principles - Added
proximens_geo_synthesize_brief - Removed
proximens_oracle_audit_url - Removed
proximens_oracle_bulk_search - Removed
proximens_oracle_compare_urls - Removed
proximens_oracle_get_principle - Removed
proximens_oracle_get_stats - Removed
proximens_oracle_list_categories - Removed
proximens_oracle_search_principles - Removed
proximens_oracle_synthesize_brief
4 tool updates
- Changed
proximens_oracle_bulk_search1 field changed- added
Output schema / properties / results / items / properties / matches / items / properties / similarityAdded value: +{ + "type": [ + "number", + "null" + ] +}
- Changed
proximens_oracle_compare_urls1 field changed- added
Output schema / properties / self_matched / items / properties / similarityAdded value: +{ + "type": [ + "number", + "null" + ] +}
- Changed
proximens_oracle_get_principle1 field changed- added
Output schema / properties / similarityAdded value: +{ + "type": [ + "number", + "null" + ] +}
- Changed
proximens_oracle_synthesize_brief1 field changed- added
Output schema / properties / principles_to_address / items / properties / similarityAdded value: +{ + "type": [ + "number", + "null" + ] +}
2 tool updates
- Changed
proximens_oracle_audit_url1 field changed- changed
Input schema / properties / mode / descriptionPrevious value: -"fast = heuristic signal checks (seconds); deep = full Gemini-synthesized consultancy report with sector benchmark (~30-50s)"New value: +"fast = quick signal checks (seconds); deep = full AI-synthesized consultancy report with sector benchmark (~30-50s)"
- Changed
proximens_oracle_search_principles1 field changed- changed
Output schema / properties / results / items / properties / similarity / descriptionPrevious value: -"Cosine similarity to query (0-1)"New value: +"Relevance score for the query (0-1)"
8 tool updates
- Changed
proximens_oracle_audit_url39 fields changed- added
Input schema / properties / branche_hint / descriptionAdded value: +"Branche hint in \"main:sub\" format, e.g. \"health_wellness:yoga_studio\". If omitted, principles are matched without branche filter." - added
Input schema / properties / client_name / descriptionAdded value: +"Optional client identifier for the audit report header" - added
Input schema / properties / max_issues / descriptionAdded value: +"Maximum issues to return (default 10)" - added
Input schema / properties / max_issues / maximumAdded value: +25 - added
Input schema / properties / max_issues / minimumAdded value: +1 - changed
Input schema / properties / max_issues / typePrevious value: -"number"New value: +"integer" - added
Input schema / properties / mode / descriptionAdded value: +"fast = heuristic signal checks (seconds); deep = full Gemini-synthesized consultancy report with sector benchmark (~30-50s)" - added
Input schema / properties / url / formatAdded value: +"uri" - added
Output schema / properties / _meta / properties / rate_limit_remaining / anyOfAdded value: +[ + { + "type": "number" + }, + { + "const": "unlimited", + "type": "string" + } +] - added
Output schema / properties / audit_id / formatAdded value: +"uuid" - added
Output schema / properties / deep_mode / descriptionAdded value: +"Deep-mode outcome: ok = full synthesized report; timeout_fallback = synthesis exceeded budget, fast result returned" - added
Output schema / properties / matched_principles / items / properties / confidence / maximumAdded value: +1 - added
Output schema / properties / matched_principles / items / properties / confidence / minimumAdded value: +0 - added
Output schema / properties / matched_principles / items / properties / principle_id / formatAdded value: +"uuid" - added
Output schema / properties / score / maximumAdded value: +100 - added
Output schema / properties / score / minimumAdded value: +0 - added
Output schema / properties / score_set / descriptionAdded value: +"7-dimension GEO scorecard (deep mode only)" - added
Output schema / properties / score_set / properties / aiCitability / typeAdded value: +[ + "number", + "null" +] - added
Output schema / properties / score_set / properties / brandAuthority / typeAdded value: +[ + "number", + "null" +] - added
Output schema / properties / score_set / properties / contentEEAT / typeAdded value: +[ + "number", + "null" +] - added
Output schema / properties / score_set / properties / overallGEO / typeAdded value: +[ + "number", + "null" +] - added
Output schema / properties / score_set / properties / platformOptimization / typeAdded value: +[ + "number", + "null" +] - added
Output schema / properties / score_set / properties / structuredData / typeAdded value: +[ + "number", + "null" +] - added
Output schema / properties / score_set / properties / technicalGEO / typeAdded value: +[ + "number", + "null" +] - added
Output schema / properties / sector / descriptionAdded value: +"Detected sector benchmark cohort (deep mode only)" - added
Output schema / properties / signals / properties / h1_count / minimumAdded value: +0 - changed
Output schema / properties / signals / properties / h1_count / typePrevious value: -"number"New value: +"integer" - added
Output schema / properties / signals / properties / hreflang_count / minimumAdded value: +0 - changed
Output schema / properties / signals / properties / hreflang_count / typePrevious value: -"number"New value: +"integer" - added
Output schema / properties / signals / properties / images_total / minimumAdded value: +0 - changed
Output schema / properties / signals / properties / images_total / typePrevious value: -"number"New value: +"integer" - added
Output schema / properties / signals / properties / images_without_alt / minimumAdded value: +0 - changed
Output schema / properties / signals / properties / images_without_alt / typePrevious value: -"number"New value: +"integer" - added
Output schema / properties / signals / properties / structured_data_invalid / minimumAdded value: +0 - changed
Output schema / properties / signals / properties / structured_data_invalid / typePrevious value: -"number"New value: +"integer" - added
Output schema / properties / signals / properties / structured_data_valid / minimumAdded value: +0 - changed
Output schema / properties / signals / properties / structured_data_valid / typePrevious value: -"number"New value: +"integer" - added
Output schema / properties / signals / properties / word_count / minimumAdded value: +0 - changed
Output schema / properties / signals / properties / word_count / typePrevious value: -"number"New value: +"integer"
- Changed
proximens_oracle_bulk_search14 fields changed- added
Input schema / properties / queries / items / maxLengthAdded value: +500 - added
Input schema / properties / queries / items / minLengthAdded value: +3 - added
Input schema / properties / queries / maxItemsAdded value: +100 - added
Input schema / properties / queries / minItemsAdded value: +2 - added
Input schema / properties / top_k_per_query / maximumAdded value: +10 - added
Input schema / properties / top_k_per_query / minimumAdded value: +1 - added
Output schema / properties / _meta / properties / rate_limit_remaining / anyOfAdded value: +[ + { + "type": "number" + }, + { + "const": "unlimited", + "type": "string" + } +] - added
Output schema / properties / results / items / properties / matches / items / properties / confidence / maximumAdded value: +1 - added
Output schema / properties / results / items / properties / matches / items / properties / confidence / minimumAdded value: +0 - added
Output schema / properties / results / items / properties / matches / items / properties / evidence_count / minimumAdded value: +0 - changed
Output schema / properties / results / items / properties / matches / items / properties / evidence_count / typePrevious value: -"number"New value: +"integer" - added
Output schema / properties / results / items / properties / matches / items / properties / id / formatAdded value: +"uuid" - added
Output schema / properties / results / items / properties / matches / items / properties / source_type / typeAdded value: +[ + "string", + "null" +] - added
Output schema / properties / results / items / properties / matches / items / properties / source_url / anyOfAdded value: +[ + { + "format": "uri", + "type": "string" + }, + { + "type": "null" + } +]
- Changed
proximens_oracle_compare_urls29 fields changed- added
Input schema / properties / competitor_url / formatAdded value: +"uri" - added
Input schema / properties / self_url / formatAdded value: +"uri" - added
Output schema / properties / _meta / properties / rate_limit_remaining / anyOfAdded value: +[ + { + "type": "number" + }, + { + "const": "unlimited", + "type": "string" + } +] - added
Output schema / properties / competitor_matched / items / $refAdded value: +"#/properties/self_matched/items" - removed
Output schema / properties / competitor_matched / items / additionalPropertiesRemoved value: -false - removed
Output schema / properties / competitor_matched / items / propertiesRemoved value: -{ - "_wm": { - "type": "string" - }, - "category": { - "type": "string" - }, - "confidence": { - "type": "number" - }, - "evidence_count": { - "type": "number" - }, - "full_text": { - "type": "string" - }, - "id": { - "type": "string" - }, - "source_type": {}, - "source_url": {}, - "summary": { - "type": "string" - }, - "title": { - "type": "string" - }, - "upgrade_hint": { - "type": "string" - } -} - removed
Output schema / properties / competitor_matched / items / requiredRemoved value: -[ - "id", - "title", - "summary", - "category", - "confidence" -] - removed
Output schema / properties / competitor_matched / items / typeRemoved value: -"object" - added
Output schema / properties / competitor_score / maximumAdded value: +100 - added
Output schema / properties / competitor_score / minimumAdded value: +0 - added
Output schema / properties / delta_principles / properties / missing_on_competitor / items / $refAdded value: +"#/properties/self_matched/items" - removed
Output schema / properties / delta_principles / properties / missing_on_competitor / items / additionalPropertiesRemoved value: -false - removed
Output schema / properties / delta_principles / properties / missing_on_competitor / items / propertiesRemoved value: -{ - "_wm": { - "type": "string" - }, - "category": { - "type": "string" - }, - "confidence": { - "type": "number" - }, - "evidence_count": { - "type": "number" - }, - "full_text": { - "type": "string" - }, - "id": { - "type": "string" - }, - "source_type": {}, - "source_url": {}, - "summary": { - "type": "string" - }, - "title": { - "type": "string" - }, - "upgrade_hint": { - "type": "string" - } -} - removed
Output schema / properties / delta_principles / properties / missing_on_competitor / items / requiredRemoved value: -[ - "id", - "title", - "summary", - "category", - "confidence" -] - removed
Output schema / properties / delta_principles / properties / missing_on_competitor / items / typeRemoved value: -"object" - added
Output schema / properties / delta_principles / properties / missing_on_self / items / $refAdded value: +"#/properties/self_matched/items" - removed
Output schema / properties / delta_principles / properties / missing_on_self / items / additionalPropertiesRemoved value: -false - removed
Output schema / properties / delta_principles / properties / missing_on_self / items / propertiesRemoved value: -{ - "_wm": { - "type": "string" - }, - "category": { - "type": "string" - }, - "confidence": { - "type": "number" - }, - "evidence_count": { - "type": "number" - }, - "full_text": { - "type": "string" - }, - "id": { - "type": "string" - }, - "source_type": {}, - "source_url": {}, - "summary": { - "type": "string" - }, - "title": { - "type": "string" - }, - "upgrade_hint": { - "type": "string" - } -} - removed
Output schema / properties / delta_principles / properties / missing_on_self / items / requiredRemoved value: -[ - "id", - "title", - "summary", - "category", - "confidence" -] - removed
Output schema / properties / delta_principles / properties / missing_on_self / items / typeRemoved value: -"object" - added
Output schema / properties / self_matched / items / properties / confidence / maximumAdded value: +1 - added
Output schema / properties / self_matched / items / properties / confidence / minimumAdded value: +0 - added
Output schema / properties / self_matched / items / properties / evidence_count / minimumAdded value: +0 - changed
Output schema / properties / self_matched / items / properties / evidence_count / typePrevious value: -"number"New value: +"integer" - added
Output schema / properties / self_matched / items / properties / id / formatAdded value: +"uuid" - added
Output schema / properties / self_matched / items / properties / source_type / typeAdded value: +[ + "string", + "null" +] - added
Output schema / properties / self_matched / items / properties / source_url / anyOfAdded value: +[ + { + "format": "uri", + "type": "string" + }, + { + "type": "null" + } +] - added
Output schema / properties / self_score / maximumAdded value: +100 - added
Output schema / properties / self_score / minimumAdded value: +0
- Changed
proximens_oracle_get_principle12 fields changed- added
Input schema / properties / id / formatAdded value: +"uuid" - added
Output schema / properties / branches / items / anyOfAdded value: +[ + { + "type": "string" + }, + { + "additionalProperties": false, + "properties": { + "main": { + "enum": [ + "local_services", + "digital_services", + "product_commerce", + "creative_professional", + "health_wellness", + "b2b_saas", + "universal" + ], + "type": "string" + }, + "relevance": { + "maximum": 3, + "minimum": 0, + "type": "integer" + }, + "subs": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "main", + "subs", + "relevance" + ], + "type": "object" + } +] - added
Output schema / properties / confidence / maximumAdded value: +1 - added
Output schema / properties / confidence / minimumAdded value: +0 - added
Output schema / properties / evidence_count / minimumAdded value: +0 - changed
Output schema / properties / evidence_count / typePrevious value: -"number"New value: +"integer" - added
Output schema / properties / id / formatAdded value: +"uuid" - added
Output schema / properties / last_validated_at / typeAdded value: +[ + "string", + "null" +] - added
Output schema / properties / source_diversity / minimumAdded value: +0 - changed
Output schema / properties / source_diversity / typePrevious value: -"number"New value: +"integer" - added
Output schema / properties / source_type / typeAdded value: +[ + "string", + "null" +] - added
Output schema / properties / source_url / anyOfAdded value: +[ + { + "format": "uri", + "type": "string" + }, + { + "type": "null" + } +]
- Changed
proximens_oracle_get_stats18 fields changed- added
Input schema / descriptionAdded value: +"No input parameters" - removed
Input schema / requiredRemoved value: -[] - added
Output schema / properties / confidence_distribution / properties / 0.7-0.8 / minimumAdded value: +0 - changed
Output schema / properties / confidence_distribution / properties / 0.7-0.8 / typePrevious value: -"number"New value: +"integer" - added
Output schema / properties / confidence_distribution / properties / 0.8-0.9 / minimumAdded value: +0 - changed
Output schema / properties / confidence_distribution / properties / 0.8-0.9 / typePrevious value: -"number"New value: +"integer" - added
Output schema / properties / confidence_distribution / properties / <0.7 / minimumAdded value: +0 - changed
Output schema / properties / confidence_distribution / properties / <0.7 / typePrevious value: -"number"New value: +"integer" - added
Output schema / properties / confidence_distribution / properties / >=0.9 / minimumAdded value: +0 - changed
Output schema / properties / confidence_distribution / properties / >=0.9 / typePrevious value: -"number"New value: +"integer" - added
Output schema / properties / last_distillation_at / typeAdded value: +[ + "string", + "null" +] - added
Output schema / properties / last_validated_at / typeAdded value: +[ + "string", + "null" +] - added
Output schema / properties / total_categories / minimumAdded value: +0 - changed
Output schema / properties / total_categories / typePrevious value: -"number"New value: +"integer" - added
Output schema / properties / total_evaluated / minimumAdded value: +0 - changed
Output schema / properties / total_evaluated / typePrevious value: -"number"New value: +"integer" - added
Output schema / properties / total_principles / minimumAdded value: +0 - changed
Output schema / properties / total_principles / typePrevious value: -"number"New value: +"integer"
- Changed
proximens_oracle_list_categories6 fields changed- added
Input schema / descriptionAdded value: +"No input parameters" - removed
Input schema / requiredRemoved value: -[] - added
Output schema / properties / categories / items / properties / count / minimumAdded value: +0 - changed
Output schema / properties / categories / items / properties / count / typePrevious value: -"number"New value: +"integer" - added
Output schema / properties / total / minimumAdded value: +0 - changed
Output schema / properties / total / typePrevious value: -"number"New value: +"integer"
- Changed
proximens_oracle_search_principles23 fields changed- added
Input schema / properties / category / descriptionAdded value: +"Filter by category (one of 13 GEO categories)" - added
Input schema / properties / min_confidence / descriptionAdded value: +"Minimum confidence score (0-1). Default 0.5 filters noise; raise to 0.8+ for high-confidence claims only" - added
Input schema / properties / min_confidence / maximumAdded value: +1 - added
Input schema / properties / min_confidence / minimumAdded value: +0 - added
Input schema / properties / query / maxLengthAdded value: +500 - added
Input schema / properties / query / minLengthAdded value: +3 - added
Input schema / properties / top_k / descriptionAdded value: +"Number of principles to return (max 25)" - added
Input schema / properties / top_k / maximumAdded value: +25 - added
Input schema / properties / top_k / minimumAdded value: +1 - changed
Input schema / properties / top_k / typePrevious value: -"number"New value: +"integer" - added
Output schema / properties / results / items / properties / confidence / maximumAdded value: +1 - added
Output schema / properties / results / items / properties / confidence / minimumAdded value: +0 - added
Output schema / properties / results / items / properties / evidence_count / minimumAdded value: +0 - changed
Output schema / properties / results / items / properties / evidence_count / typePrevious value: -"number"New value: +"integer" - added
Output schema / properties / results / items / properties / id / formatAdded value: +"uuid" - added
Output schema / properties / results / items / properties / similarity / descriptionAdded value: +"Cosine similarity to query (0-1)" - added
Output schema / properties / results / items / properties / similarity / maximumAdded value: +1 - added
Output schema / properties / results / items / properties / similarity / minimumAdded value: +0 - added
Output schema / properties / results / items / properties / source_type / typeAdded value: +[ + "string", + "null" +] - added
Output schema / properties / results / items / properties / source_url / anyOfAdded value: +[ + { + "format": "uri", + "type": "string" + }, + { + "type": "null" + } +] - added
Output schema / properties / tier_note / descriptionAdded value: +"Free-tier hint when top_k was capped" - added
Output schema / properties / total_in_database / minimumAdded value: +0 - changed
Output schema / properties / total_in_database / typePrevious value: -"number"New value: +"integer"
- Changed
proximens_oracle_synthesize_brief15 fields changed- added
Input schema / properties / competitor_urls / items / formatAdded value: +"uri" - added
Input schema / properties / competitor_urls / maxItemsAdded value: +3 - added
Input schema / properties / topic / maxLengthAdded value: +200 - added
Input schema / properties / topic / minLengthAdded value: +3 - added
Input schema / properties / word_count_target / maximumAdded value: +5000 - added
Input schema / properties / word_count_target / minimumAdded value: +300 - added
Output schema / properties / _meta / properties / rate_limit_remaining / anyOfAdded value: +[ + { + "type": "number" + }, + { + "const": "unlimited", + "type": "string" + } +] - added
Output schema / properties / brief_id / formatAdded value: +"uuid" - added
Output schema / properties / principles_to_address / items / properties / confidence / maximumAdded value: +1 - added
Output schema / properties / principles_to_address / items / properties / confidence / minimumAdded value: +0 - added
Output schema / properties / principles_to_address / items / properties / evidence_count / minimumAdded value: +0 - changed
Output schema / properties / principles_to_address / items / properties / evidence_count / typePrevious value: -"number"New value: +"integer" - added
Output schema / properties / principles_to_address / items / properties / id / formatAdded value: +"uuid" - added
Output schema / properties / principles_to_address / items / properties / source_type / typeAdded value: +[ + "string", + "null" +] - added
Output schema / properties / principles_to_address / items / properties / source_url / anyOfAdded value: +[ + { + "format": "uri", + "type": "string" + }, + { + "type": "null" + } +]
1 tool update
- Changed
proximens_oracle_audit_url6 fields changed- added
Input schema / properties / modeAdded value: +{ + "default": "fast", + "enum": [ + "fast", + "deep" + ], + "type": "string" +} - added
Output schema / properties / deep_modeAdded value: +{ + "enum": [ + "ok", + "timeout_fallback" + ], + "type": "string" +} - added
Output schema / properties / score_setAdded value: +{ + "additionalProperties": false, + "properties": { + "aiCitability": {}, + "brandAuthority": {}, + "contentEEAT": {}, + "overallGEO": {}, + "platformOptimization": {}, + "structuredData": {}, + "technicalGEO": {} + }, + "required": [ + "overallGEO", + "aiCitability", + "brandAuthority", + "contentEEAT", + "technicalGEO", + "structuredData", + "platformOptimization" + ], + "type": "object" +} - added
Output schema / properties / sectorAdded value: +{ + "additionalProperties": false, + "properties": { + "display_name_nl": { + "type": "string" + }, + "slug": { + "type": "string" + } + }, + "required": [ + "slug", + "display_name_nl" + ], + "type": "object" +} - added
Output schema / properties / signals / properties / render_sourceAdded value: +{ + "enum": [ + "firecrawl", + "fetch-fallback" + ], + "type": "string" +} - changed
Output schema / properties / signals / requiredPrevious value: -[ - "structured_data_valid", - "structured_data_invalid", - "schema_types", - "schema_flags", - "h1_count", - "images_total", - "images_without_alt", - "has_canonical", - "hreflang_count", - "has_viewport", - "word_count" -]New value: +[ + "structured_data_valid", + "structured_data_invalid", + "schema_types", + "schema_flags", + "h1_count", + "images_total", + "images_without_alt", + "has_canonical", + "hreflang_count", + "has_viewport", + "word_count", + "render_source" +]
2 tool updates
- Changed
proximens_oracle_audit_url1 field changed- added
Output schema / properties / signalsAdded value: +{ + "additionalProperties": false, + "properties": { + "h1_count": { + "type": "number" + }, + "has_canonical": { + "type": "boolean" + }, + "has_viewport": { + "type": "boolean" + }, + "hreflang_count": { + "type": "number" + }, + "images_total": { + "type": "number" + }, + "images_without_alt": { + "type": "number" + }, + "schema_flags": { + "additionalProperties": false, + "properties": { + "article": { + "type": "boolean" + }, + "breadcrumbList": { + "type": "boolean" + }, + "faqPage": { + "type": "boolean" + }, + "localBusiness": { + "type": "boolean" + }, + "organization": { + "type": "boolean" + }, + "product": { + "type": "boolean" + }, + "website": { + "type": "boolean" + } + }, + "required": [ + "organization", + "website", + "faqPage", + "product", + "breadcrumbList", + "localBusiness", + "article" + ], + "type": "object" + }, + "schema_types": { + "items": { + "type": "string" + }, + "type": "array" + }, + "structured_data_invalid": { + "type": "number" + }, + "structured_data_valid": { + "type": "number" + }, + "word_count": { + "type": "number" + } + }, + "required": [ + "structured_data_valid", + "structured_data_invalid", + "schema_types", + "schema_flags", + "h1_count", + "images_total", + "images_without_alt", + "has_canonical", + "hreflang_count", + "has_viewport", + "word_count" + ], + "type": "object" +}
- Changed
proximens_oracle_get_stats1 field changed- added
Output schema / properties / total_evaluatedAdded value: +{ + "type": "number" +}
8 tool updates
- First observed
proximens_oracle_audit_url - First observed
proximens_oracle_bulk_search - First observed
proximens_oracle_compare_urls - First observed
proximens_oracle_get_principle - First observed
proximens_oracle_get_stats - First observed
proximens_oracle_list_categories - First observed
proximens_oracle_search_principles - First observed
proximens_oracle_synthesize_brief
Related MCP Connectors
100+ MCP tools for AI agents: content metadata, trade intelligence, business-expertise analysis.
Viral-content intelligence for AI agents — 7 read-only MCP tools, evidence-layer scoring.
GodPrompt MCP + Agent Skill for coding agents with TDD, debugging, verification, and task routing.
AI-security knowledge as MCP: standards-mapped tools (OWASP, NIST, MITRE) for AI agents.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to discover and execute over 1,000 developer skills and tools via MCP and WebMCP, with progressive disclosure for efficient token usage.MIT
- FlicenseNot gradedqualityCmaintenanceUnified AI Agent SaaS Connector & Multi-Provider Gateway connecting to 1,000+ SaaS platforms, vector databases, and 500+ LLM models via MCP, REST API, and CLI.-

@event4u/agent-configofficial
AlicenseAqualityAmaintenanceUniversal AI Agent OS — governed skills, rules, and commands for AI coding assistants (Claude Code, Augment, Cursor, Copilot, Windsurf). Read-only MCP bridge serves prompts and resources from a release-pinned content bundle.25517 npm10MIT- AlicenseNot gradedqualityBmaintenanceEnables AI agents to interact with the app via MCP tools and resources, supporting self-improvement through goal-setting and metrics tracking on Cloudflare Workers.2MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.