020 8686 4577 · hello@telsamedia.com
For developers & agents

A public API for everything we do.

Our services, our client work and our contact details, as JSON and as MCP tools. Read-only, no authentication, no API key. Agents can start at /auth.md.

REST API

Base URL https://telsamedia.co.uk/api/v1 · OpenAPI 3.1 at /api/v1/openapi.json.

EndpointReturns
GET /healthLiveness and API version.
GET /companyContact details, address, social profiles and review scores.
GET /servicesEvery service we offer.
GET /services/{slug}One service in full — offerings, statistics, FAQs. Slugs: marketing, design, development.
GET /portfolioClient projects. Supports ?q=, ?limit= (1–100), ?offset=.
GET /portfolio/{slug}One client project.
GET /openapi.jsonThe machine-readable description of all of the above.
curl -s 'https://telsamedia.co.uk/api/v1/portfolio?q=roofing&limit=3'

Errors come back as {"error":{"code":"…","message":"…"}} with a matching status — 404 for an unknown slug, 405 for anything but GET, 429 past 120 requests per minute per IP.

MCP server

Streamable HTTP at https://telsamedia.co.uk/mcp — stateless, read-only, no credentials. Server card: /.well-known/mcp/server-card.json.

{ "mcpServers": { "telsa-media": { "type": "http", "url": "https://telsamedia.co.uk/mcp" } } }
ToolWhat it does
list_servicesList every service Telsa Media offers (digital marketing, design & branding, web development), with a short summary and the page URL for each.
get_serviceFull detail for one service: what it covers, the specific offerings within it, headline results and frequently asked questions.
search_portfolioSearch Telsa Media's client websites and case studies by business name, sector or keyword — useful for finding relevant prior work in a given industry.
get_projectDetail for a single client project, including the sector, the services delivered and the live site URL.
get_company_detailsTelsa Media's contact details, registered address, founding year, social profiles and public review scores — and where a human enquiry should be sent.

A GET to /mcp returns 405 by design: this server never pushes, so it offers no SSE stream. Send one JSON-RPC request per POST — batching was removed from the spec in revision 2025-06-18.

Markdown for agents

Every page on this site will return itself as Markdown if you ask for it. HTML stays the default, and both representations carry Vary: Accept.

curl -s -H 'Accept: text/markdown' https://telsamedia.co.uk/services/marketing

The response comes back as text/markdown with an x-markdown-tokens estimate so you can budget the fetch.

Discovery documents

PathStandard
/.well-known/api-catalogRFC 9727 — API catalog
/.well-known/ai-catalog.jsonARD capability manifest
/.well-known/agent-skills/index.jsonAgent Skills Discovery v0.2.0
/.well-known/mcp/server-card.jsonMCP Server Card (SEP-1649)
/auth.mdAgent access & usage policy
/robots.txtContent Signals

Homepage responses also carry a Link header (RFC 8288) pointing at the catalog, the OpenAPI description and this page.

Fair use

  • 120 requests per minute per IP, for the REST API and for MCP separately. Honour Retry-After.
  • Responses are cached for five minutes; the underlying content changes at most weekly. Cache rather than poll.
  • Identify yourself in User-Agent with a contactable URL or address.
  • Everything is read-only. There is no endpoint that submits an enquiry — that is what the contact page and hello@telsamedia.com are for.

Questions about integrating? Get in touch.

Call us