Rafe Blandford — career and writing
What this MCP does
Searches and retrieves Rafe Blandford’s published career record, case studies, articles, and evidence about professional topics.
Tools
Input schema
{'type': 'object', 'title': 'check_experienceArguments', 'required': ['topic'], 'properties': {'topic': {'type': 'string', 'title': 'Topic', 'description': "A short subject, 2–4 words — 'composable architecture', 'insurance', 'team leadership'. NOT a sentence or a whole job requirement: long phrases match nothing and return a misleading not_found."}}}
Output schema
{'type': 'object', '$defs': {'DeclaredTerm': {'type': 'object', 'title': 'DeclaredTerm', 'required': ['term', 'kind', 'url'], 'properties': {'url': {'type': 'string', 'title': 'Url'}, 'kind': {'type': 'string', 'title': 'Kind'}, 'term': {'type': 'string', 'title': 'Term'}}}, 'EvidenceItem': {'type': 'object', 'title': 'EvidenceItem', 'required': ['type', 'title', 'url', 'why'], 'properties': {'url': {'type': 'string', 'title': 'Url'}, 'why': {'type': 'string', 'title': 'Why'}, 'type': {'type': 'string', 'title': 'Type'}, 'title': {'type': 'string', 'title': 'Title'}, 'detail': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Detail', 'default': None}}}, 'CorpusRevision': {'type': 'object', 'title': 'CorpusRevision', 'required': ['schema_version', 'sha256'], 'properties': {'sha256': {'type': 'string', 'title': 'Sha256', 'description': 'Digest of the public corpus, EXCLUDING `generated`. Same content gives the same digest; any changed published claim changes it. Quote it if you record this answer — it is what makes the answer reproducible later.'}, 'generated': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Generated', 'default': None, 'description': 'When this snapshot was generated. Regeneration is daily and usually changes nothing, so this moves more often than `sha256` does.'}, 'schema_version': {'type': 'string', 'title': 'Schema Version', 'description': 'Version of the RESPONSE CONTRACT, not of the content.'}, 'evidence_version': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Evidence Version', 'default': None, 'description': 'Version of the editorial dossier behind this corpus.'}}}}, 'title': 'CheckExperienceOutput', 'required': ['topic', 'status', 'statement', 'declared_expertise', 'evidence', 'scope_note', 'elsewhere'], 'properties': {'topic': {'type': 'string', 'title': 'Topic'}, 'corpus': {'anyOf': [{'$ref': '#/$defs/CorpusRevision'}, {'type': 'null'}], 'default': None}, 'status': {'enum': ['supported', 'partial', 'not_found'], 'type': 'string', 'title': 'Status'}, 'evidence': {'type': 'array', 'items': {'$ref': '#/$defs/EvidenceItem'}, 'title': 'Evidence'}, 'elsewhere': {'type': 'object', 'title': 'Elsewhere', 'additionalProperties': {'type': 'string'}}, 'statement': {'type': 'string', 'title': 'Statement', 'description': 'Plain-language answer. Pass this on as written — the not_found wording is deliberately about the corpus, not the person.'}, 'scope_note': {'type': 'string', 'title': 'Scope Note'}, 'alias_applied': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Alias Applied', 'default': None, 'description': 'Set when the topic as typed matched nothing and a declared alias was used instead — e.g. CTO to the published title Chief Technology & Product Officer. The evidence below is for `to`, not for what was asked. Say so if you pass the answer on.'}, 'also_mentions': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Also Mentions', 'default': None, 'description': 'NOT EVIDENCE. Items where the words merely occur. These did not contribute to `status` and must not be reported as though the site evidences the topic. Offered only as somewhere to look next.'}, 'related_topics': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Related Topics', 'default': None, 'description': 'NOT EVIDENCE for the topic asked. Only on partial/not_found. Other topics the site declares that are near matches on WORDING — a route to a better query, never support for this one. Do not describe these as related evidence.'}, 'declared_expertise': {'type': 'array', 'items': {'$ref': '#/$defs/DeclaredTerm'}, 'title': 'Declared Expertise'}}}
Input schema
{'type': 'object', 'title': 'get_evidenceArguments', 'required': ['section'], 'properties': {'section': {'enum': ['profile', 'career', 'case-studies', 'provenance'], 'type': 'string', 'title': 'Section', 'description': 'Which section to return. Each is identical to the resource of the same name.'}}}
Output schema
{'type': 'object', 'title': 'get_evidenceDictOutput', 'additionalProperties': True}
Input schema
{'type': 'object', 'title': 'get_postArguments', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'title': 'Slug', 'description': "The post or page slug, e.g. 'loops-within-loops'."}}}
Output schema
{'type': 'object', '$defs': {'CorpusRevision': {'type': 'object', 'title': 'CorpusRevision', 'required': ['schema_version', 'sha256'], 'properties': {'sha256': {'type': 'string', 'title': 'Sha256', 'description': 'Digest of the public corpus, EXCLUDING `generated`. Same content gives the same digest; any changed published claim changes it. Quote it if you record this answer — it is what makes the answer reproducible later.'}, 'generated': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Generated', 'default': None, 'description': 'When this snapshot was generated. Regeneration is daily and usually changes nothing, so this moves more often than `sha256` does.'}, 'schema_version': {'type': 'string', 'title': 'Schema Version', 'description': 'Version of the RESPONSE CONTRACT, not of the content.'}, 'evidence_version': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Evidence Version', 'default': None, 'description': 'Version of the editorial dossier behind this corpus.'}}}}, 'title': 'WritingItem', 'required': ['kind', 'slug', 'title', 'url', 'text'], 'properties': {'url': {'type': 'string', 'title': 'Url'}, 'kind': {'type': 'string', 'title': 'Kind'}, 'slug': {'type': 'string', 'title': 'Slug'}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Tags', 'default': []}, 'text': {'type': 'string', 'title': 'Text', 'description': 'The full plaintext of the post or page.'}, 'match': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Match', 'default': None}, 'title': {'type': 'string', 'title': 'Title'}, 'topic': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Topic', 'default': None}, 'corpus': {'anyOf': [{'$ref': '#/$defs/CorpusRevision'}, {'type': 'null'}], 'default': None}, 'excerpt': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Excerpt', 'default': None}, 'provenance': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Provenance', 'default': None, 'description': "written-by-rafe | written-with-ai | ai-authored. The site's own label; see /ai-provenance/."}, 'updated_at': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Updated At', 'default': None}, 'topic_label': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Topic Label', 'default': None}, 'markdown_url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Markdown Url', 'default': None}, 'published_at': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Published At', 'default': None}, 'reading_time': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Reading Time', 'default': None}}, 'description': 'A search result plus the body. Same shape, so a client that handled a\nsearch hit already knows how to read a fetched post.'}
Input schema
{'type': 'object', 'title': 'search_writingArguments', 'properties': {'limit': {'type': 'integer', 'title': 'Limit', 'default': 10, 'maximum': 50, 'minimum': 1, 'description': 'Maximum results. Default 10.'}, 'query': {'type': 'string', 'title': 'Query', 'default': '', 'description': 'Words or a phrase. Blank returns the most recent writing.'}, 'topic': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Topic', 'default': None, 'description': "Optional. Restrict to one of the site's topic groups: work, ai-work, product-tech, rafeos, all-about-archive, notes. Every response lists them in `available_topics` with counts."}}}
Output schema
{'type': 'object', '$defs': {'WritingResult': {'type': 'object', 'title': 'WritingResult', 'required': ['kind', 'slug', 'title', 'url'], 'properties': {'url': {'type': 'string', 'title': 'Url'}, 'kind': {'type': 'string', 'title': 'Kind'}, 'slug': {'type': 'string', 'title': 'Slug'}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Tags', 'default': []}, 'match': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Match', 'default': None}, 'title': {'type': 'string', 'title': 'Title'}, 'topic': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Topic', 'default': None}, 'excerpt': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Excerpt', 'default': None}, 'provenance': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Provenance', 'default': None, 'description': "written-by-rafe | written-with-ai | ai-authored. The site's own label; see /ai-provenance/."}, 'updated_at': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Updated At', 'default': None}, 'topic_label': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Topic Label', 'default': None}, 'markdown_url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Markdown Url', 'default': None}, 'published_at': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Published At', 'default': None}, 'reading_time': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Reading Time', 'default': None}}}, 'CorpusRevision': {'type': 'object', 'title': 'CorpusRevision', 'required': ['schema_version', 'sha256'], 'properties': {'sha256': {'type': 'string', 'title': 'Sha256', 'description': 'Digest of the public corpus, EXCLUDING `generated`. Same content gives the same digest; any changed published claim changes it. Quote it if you record this answer — it is what makes the answer reproducible later.'}, 'generated': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Generated', 'default': None, 'description': 'When this snapshot was generated. Regeneration is daily and usually changes nothing, so this moves more often than `sha256` does.'}, 'schema_version': {'type': 'string', 'title': 'Schema Version', 'description': 'Version of the RESPONSE CONTRACT, not of the content.'}, 'evidence_version': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Evidence Version', 'default': None, 'description': 'Version of the editorial dossier behind this corpus.'}}}}, 'title': 'SearchWritingOutput', 'required': ['query', 'interpretation', 'total_matched', 'results'], 'properties': {'query': {'type': 'string', 'title': 'Query'}, 'topic': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Topic', 'default': None}, 'corpus': {'anyOf': [{'$ref': '#/$defs/CorpusRevision'}, {'type': 'null'}], 'default': None}, 'results': {'type': 'array', 'items': {'$ref': '#/$defs/WritingResult'}, 'title': 'Results'}, 'total_matched': {'type': 'integer', 'title': 'Total Matched'}, 'interpretation': {'type': 'string', 'title': 'Interpretation'}, 'available_topics': {'type': 'object', 'title': 'Available Topics', 'default': {}, 'additionalProperties': True}}}
Recent tool changes
Similar MCP servers
concordance
Provides deterministic claim verification and audit receipts, along with Bible references, commentary, geography, indexed knowled…
canton-ccpedia
Searches and explains Canton Network and Daml documentation, governance proposals, forums, code examples, APIs, releases, and eco…
BNM Data Shop
Sells access to cached official reports, enforcement orders, regulatory documents, inspection records, and other public-source te…
api-evangelist
Provides API governance analysis, OpenAPI overlays and version diffs, security-sensitive field classification, code samples, matu…
OpenHelvetia Gateway
Provides sourced access to Swiss federal legislation and political data, including law metadata, versions, amendments, citations,…
website-search
Provides security article search and structured guidance, templates, frameworks, and review criteria for incident response, threa…
The Ainglish Project
Maintains a measured, auditable register of language constructs, proposals, evidence, adoption, contributors, protocols, and rati…
Torah Library
Provides searchable Jewish texts, commentaries, source sheets, dictionaries, manuscripts, calendars, learning schedules, parasha …