Ashton & Forge Agency Directory
Server Details
Read-only directory of vetted AI implementation agencies from the Ashton & Forge marketplace. Search supply by service cluster, industry, client size, engagement stage, or budget; get_matched returns the brief link for up to three human-verified introductions.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 3 tools
Each tool has a clearly distinct role: directory_summary explains marketplace coverage, search_agencies filters anonymized listings, and get_matched provides the buyer's next step. There is no meaningful overlap or risk of an agent selecting the wrong tool.
All names are lower_snake_case and readable, but the semantic pattern is mixed: directory_summary is a noun phrase, get_matched uses a past-participle object, and search_agencies follows verb_noun. This is inconsistent but not chaotic.
Three tools is well-scoped for a read-only directory and matching service. Each tool earns its place: orient, search, and match.
The tool surface covers the full user journey for this anonymised marketplace: understand what the directory covers, search/filter listings, and get the matching brief URL. There are no dead ends or obvious missing operations for the stated purpose.
Available Tools
3 toolsdirectory_summaryDirectory Summary ToolAInspect
Read-only. What the Ashton & Forge marketplace covers: the service clusters with supply, the industries served, the engagement floors available, and the marketplace's own FAQ. Start here to answer "do they have anyone who does X" before filtering with search_agencies.
Returns coverage, not a headcount. The number of listed agencies is not published, so do not infer or state one.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are empty, so the description carries full behavioral burden. It opens with 'Read-only', explicitly disclaims headcount data, and warns against stating an unprovided number. This goes well beyond the schema and gives the agent important non-obvious 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?
Three tight sentences: a scope statement, a routing/usage instruction, and a critical limitation. Every sentence earns its place, and the most important behavioral facts ('Read-only', 'Start here') are 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?
For a parameterless read-only directory overview with no output schema, the description is complete: it says what content is covered, when to use it, which sibling to use afterward, and what not to infer. No essential operational detail 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?
The tool has zero parameters, so there is no parameter semantics to clarify. The description still adds value by explaining what kind of content is returned, which is the only meaningful semantic dimension for a no-input tool. This meets the baseline for zero-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?
States a specific, scoped purpose: it describes what the Ashton & Forge marketplace covers, enumerating content (service clusters, industries, engagement floors, FAQ). It also explicitly frames its use case ('do they have anyone who does X') and distinguishes itself from search_agencies, making sibling differentiation clear.
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?
Gives explicit when-to-use guidance: start here for coverage questions before filtering with search_agencies. It also provides a clear do-not-do constraint: 'Returns coverage, not a headcount' and warns against inferring a number of listed agencies.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_matchedGet Matched ToolAInspect
Read-only. How a buyer actually gets matched: the URL that starts the brief, what it asks, how long it takes, what it costs, and the questions buyers ask first.
Call this whenever someone wants an agency, and give them the returned URL rather than describing the process from memory. Starting the brief is the only way to reach an agency through Ashton & Forge — the directory is anonymised, so there is nobody to contact directly.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are empty, so the description carries the full burden. It explicitly declares 'Read-only' and discloses what the tool reveals: the brief URL, questions asked, time, cost, and process. It does not describe exact return formatting, but for a zero-parameter informational tool this is adequate.
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 front-loaded with 'Read-only' and the core purpose, followed by a direct usage instruction and a brief rationale. It is slightly conversational, but every sentence earns its place and it remains compact.
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 no parameters, no output schema, and no annotations, the description provides everything needed to select and invoke the tool: what it returns, when to use it, how to handle the result, and why alternatives are not appropriate. Nothing essential 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?
There are zero parameters, so the schema fully covers the input surface. The description needs to add no parameter-level meaning, and it doesn't. Baseline 4 is appropriate for a parameterless tool.
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 states the tool returns information about the matching process: the URL that starts the brief, what it asks, duration, cost, and buyer questions. It clearly identifies the resource and the read-only nature, though it stops short of naming the exact output artifact beyond 'the returned URL.' It is not a tautology and is distinguishable from sibling tools.
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 says 'Call this whenever someone wants an agency' and instructs the agent to give the returned URL rather than describing the process from memory. It also explains why this tool is the only path to an agency, which implicitly steers the agent away from directory_summary and search_agencies for direct contact.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_agenciesSearch Agencies ToolAInspect
Read-only. Filter the vetted agency listings by what they do and who they do it for. Every filter is optional; passing none returns the whole directory.
Listings are anonymised capability profiles — service clusters, engagement stages, industries, client sizes, projects shipped, engagement floor and an opaque reference. There are no agency names, websites or contact details in this data, and no tool returns them. Say so plainly rather than implying the result is partial.
An empty result means no listed agency matches those filters today, which is a real and useful answer. Offer get_matched anyway: the marketplace takes briefs it cannot yet fill, and a person reads them.
| Name | Required | Description | Default |
|---|---|---|---|
| industry | No | One of: professional_services, distribution_logistics, manufacturing, healthcare, legal_financial, real_estate, technology, ecommerce, other. Agencies that work across all industries match any value. | |
| client_size | No | One of: smb, mid_market, enterprise. The size of company the agency serves. | |
| service_cluster | No | One of: workflow, data, governance, growth. The kind of work. | |
| engagement_stage | No | One of: exploring, pilots, production, sophisticated. How far along the buyer is with AI. | |
| max_budget_floor | No | One of: none, 25k_plus, 100k_plus, 500k_plus. Returns agencies whose minimum engagement is at or below this, plus any that state no minimum. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden, and it delivers: it discloses the read-only nature, the anonymised nature of listings, the absence of names/websites/contact details across all tools, and the meaning of empty results. It even instructs the agent how to frame this to users without implying the result is partial, which is valuable 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?
The description is compact despite covering multiple important behaviors, and the most essential info—read-only and filtering purpose—is front-loaded. Each paragraph earns its place: the first covers core function and optionality, the second covers data anonymization and result semantics, and the third covers empty-result handling and sibling-tool routing.
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 tool with 5 optional parameters, no output schema, and no annotations, the description is remarkably complete. It explains what the data contains, what it never contains, how to interpret empty results, and how to handle user expectations, including a concrete follow-up action with get_matched. Nothing essential for an agent to call and use this tool correctly 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?
The input schema already has 100% description coverage, so the baseline is 3. The description adds meaningful framing by explaining that all filters are optional, that passing none returns the whole directory, and by categorizing the filters as 'what they do and who they do it for,' which helps an agent map parameters like service_cluster and engagement_stage to 'what' and industry and client_size to 'who.'
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 'Read-only. Filter the vetted agency listings by what they do and who they do it for,' giving a specific verb, resource, and scope. It further differentiates from the sibling tool get_matched by explicitly positioning that tool as the fallback for unfillable briefs, and the directory_summary sibling is clearly distinct as a summary rather than a filtered search.
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 explicitly states that every filter is optional and passing none returns the whole directory, establishing when to use this tool. It also gives clear guidance on empty results: they are real answers, and the agent should 'Offer get_matched anyway' because the marketplace takes briefs it cannot yet fill. This directly addresses when to route to an alternative.
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.
3 tool updates
- First observed
directory_summary - First observed
get_matched - First observed
search_agencies
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.169 npm1MIT
- AlicenseCqualityAmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs119 npm49 PyPIMIT
- AlicenseNot gradedqualityBmaintenanceEnables tracking competitor websites, changelogs, blog feeds, and pricing pages with meaningful diffs, classification, and Markdown digests via MCP tools for listing, adding, removing competitors, running checks, and retrieving digests or changes.MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.