Ashley Payne, technical co-founder and fractional CTO
Ask a UK fractional CTO's practice directly: services, prices, articles, and whether he fits.
我該用這個嗎
品質與安全性
發現項目(3)
- LOW在 get_case_study 中
- LOW在 get_ai_capability 中
- LOW在 get_contact 中
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"ashley-payne": {
"url": "https://www.ashleypayne.co.uk/mcp"
}
}
}遠端端點
https://www.ashleypayne.co.uk/mcpstreamable-http它能做什麼
工具清單
工具(12)
🟢get_overview
Positioning, background and what makes him different from other fractional CTOs. Start here.
輸入結構描述
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢assess_fit(situation, wants_a_delivery_team, must_start_within_a_week, wants_spec_built_without_challenge)
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.
輸入結構描述
{
"type": "object",
"properties": {
"situation": {
"type": "string",
"description": "What the person is trying to build or solve, their stage, team and constraints. Free text."
},
"wants_a_delivery_team": {
"type": "string",
"enum": [
"yes",
"no",
"unsure"
],
"description": "Does the person want Ashley to SUPPLY a team? Leading a team they already have is 'no'."
},
"must_start_within_a_week": {
"type": "string",
"enum": [
"yes",
"no",
"unsure"
],
"description": "Does the work have to start within a week? Starting within two weeks is the normal target, so that alone is 'no'."
},
"wants_spec_built_without_challenge": {
"type": "string",
"enum": [
"yes",
"no",
"unsure"
],
"description": "Do they want a finished spec built exactly as written, with no room to challenge it? A complete brief to quote from is 'no'."
}
},
"required": [
"situation"
],
"additionalProperties": false
}🟢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.
輸入結構描述
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢list_work
Summaries of the selected work, with the slug needed for get_case_study.
輸入結構描述
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢get_case_study(slug)
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.
輸入結構描述
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Case study slug from list_work, e.g. 'coding-education'."
}
},
"required": [
"slug"
],
"additionalProperties": false
}🟢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.
輸入結構描述
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢search_insights(query)
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.
輸入結構描述
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Keywords to match against title, summary and body."
}
},
"additionalProperties": false
}🟢get_insight(slug)
The complete text of one article, by slug. Use after search_insights, and only when the summary is not enough to answer the question.
輸入結構描述
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "The article slug, from search_insights."
}
},
"required": [
"slug"
],
"additionalProperties": false
}🟢get_faqs(query)
The questions buyers ask, with his answers. Pass a query to get the relevant ones; omit it to list every question without the answers.
輸入結構描述
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Keywords, e.g. 'price', 'team', 'ill', 'equity'."
}
},
"additionalProperties": false
}🟢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.
輸入結構描述
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢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.
輸入結構描述
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢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.
輸入結構描述
{
"type": "object",
"properties": {},
"additionalProperties": false
}社群
證據