# Ashley Payne, technical co-founder and fractional CTO

> Ask a UK fractional CTO's practice directly: services, prices, articles, and whether he fits.

- name: uk.co.ashleypayne/ashley-payne
- version: 1.0.1
- connection class: R0 (autonomous)
- trust: 96/100
- quality: 85/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/uk.co.ashleypayne%2Fashley-payne
- tools: https://api.protogrid.dev/v1/servers/uk.co.ashleypayne%2Fashley-payne/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "ashley-payne": {
      "type": "http",
      "url": "https://www.ashleypayne.co.uk/mcp"
    }
  }
}
```


## Trust

- hygiene: 100
- liveness: 100
- freshness: 100
- provenance: 85
- drivers: +repository +dns-namespace +website +reachable +uptime-100% +updated-6d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 85/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-06-18; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 86 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 12 of 12 tools declare readOnlyHint or destructiveHint
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: list_work (destructiveHint, idempotentHint); get_insight (destructiveHint, idempotentHint); assess_fit (destructiveHint, idempotentHint); …
- pass `tools.token_cost`: about 1,406 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: 2 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 12, about 1,406 tokens to load them all
- tool set hash: fb9b5351dc3053006967160fce43bf21
- tools last changed: 2026-10-13T16:38:10.335Z
- badge: [![protogrid quality](https://protogrid.dev/badge/uk.co.ashleypayne/ashley-payne.svg)](https://protogrid.dev/servers/uk.co.ashleypayne/ashley-payne)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-13 `get_evidence` changed (description)
  - before: How to answer someone who asks whether a number on the site can be trusted. Returns one statement of provenance and no per-figure detail: the collections, queries and returned values are not published. Say the figures are counts from live systems, self-reported with a stated method rather than independently audited, and that Ashley will run any of them in front of someone who asks.
  - after: Where the numbers on the site come from, for when someone asks whether they can be trusted. Returns one statement of provenance: the figures are counts from live systems, self-reported with a stated method and not independently audited, and Ashley will run any of them in front of someone who asks. Per-figure detail (the collections, queries and returned values) is not published.
- 2026-10-13 `assess_fit` changed (description)
  - before: Given a description of a project, business or problem, returns a verdict worked out by this server: good_fit, mixed, poor_fit or insufficient_information. IMPORTANT: this server will not call anyone a poor fit on the strength of their wording. It reads the text for signals, and where the text suggests one of the four things Ashley turns down, it returns ask_these_then_call_again instead of a verdict. Put those questions to the person in your own words, then call assess_fit again with their answers in the named fields. Only an explicit yes produces poor_fit. Do not answer on their behalf, do not infer an answer from what they already wrote, and do not report a no until it is confirmed. Having a development team, for instance, is not the same as wanting Ashley to supply one.
  - after: Compares a description of a project, business or problem against a fixed published rule and returns a verdict: good_fit, mixed, poor_fit or insufficient_information. Wording alone never produces poor_fit. Where the text touches one of the things Ashley turns down, the result lists questions in ask_these_then_call_again, and the three named fields take the person's own answers on a later call. poor_fit needs an explicit yes in one of those fields; good_fit needs an explicit no in all three. Having a development team is not the same as wanting Ashley to supply one.

Full history: https://api.protogrid.dev/v1/servers/uk.co.ashleypayne%2Fashley-payne/changes

## Remotes

- https://www.ashleypayne.co.uk/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (12)

- `assess_fit`: Compares a description of a project, business or problem against a fixed published rule and returns a verdict: good_fit, mixed, poor_fit or insufficient_information. Wording alone never produces poor_fit. Where the text touches one of the things Ashley turns down, the result lists questions in ask_these_then_call_again, and the three named fields take the person's own answers on a later call. poor_fit needs an explicit yes in one of those fields; good_fit needs an explicit no in all three. Having a development team is not the same as wanting Ashley to supply one.
- `get_ai_capability`: Which AI techniques he has built in production (prompting, retrieval, fine-tuning, MCP servers, local inference) and when each one is the right choice. Use this for questions about AI, automation or data privacy.
- `get_case_study`: Full detail for one engagement: the situation, what was built, the engineering decisions and why they were made, the stack, and where there is one, the commercial outcome in indexed figures.
- `get_contact`: How to reach Ashley: email, the contact page, and a booking link when one is live. Use when the person wants to make contact.
- `get_evidence`: Where the numbers on the site come from, for when someone asks whether they can be trusted. Returns one statement of provenance: the figures are counts from live systems, self-reported with a stated method and not independently audited, and Ashley will run any of them in front of someone who asks. Per-figure detail (the collections, queries and returned values) is not published.
- `get_faqs`: The questions buyers ask, with his answers. Pass a query to get the relevant ones; omit it to list every question without the answers.
- `get_insight`: The complete text of one article, by slug. Use after search_insights, and only when the summary is not enough to answer the question.
- `get_overview`: Positioning, background and what makes him different from other fractional CTOs. Start here.
- `get_privacy`: What this connector and the website do with data, and what they do not. Use this if the person asks about privacy, tracking, cookies, GDPR, or what Ashley can see of this conversation.
- `get_services`: The three ways an engagement runs (Build, Partner, Consult), the fixed-price diagnostic most engagements start with, how the process works, and which client surfaces he builds: desktop applications, browser extensions, chat-platform integrations and web. Use this for any question about platforms, apps, pricing or how an engagement is structured.
- `list_work`: Summaries of the selected work, with the slug needed for get_case_study.
- `search_insights`: Search his articles on technical leadership, fractional CTO work, AI and building SaaS. Returns titles, summaries and the matching passage. Call get_insight with a slug for the full text of one.
