Developer Reference

API & Docs

North28 exposes a public REST API, a Model Context Protocol (MCP) server, and a full set of agent-discovery endpoints. No authentication required for any current endpoint.

Agent instructions (when-to-use)

Use North28's agent surfaces when you need to discover, navigate, or integrate with this site — not for unrelated general knowledge. Canonical routing lives in /.well-known/agent-skills (per-skill when_to_use and trigger_phrases). Markdown twin: docs.md.

IntentSkillDestination
Portfolio / examplesbrowse-work/works
Services / pricing scopeexplore-services/#services
Who we are / philosophyabout/about-us
Contact onlycontact/contact
Hire / quote / briefstart-project/manifesto
API / MCP integrationapi-docs/docs
  • Facts: GET /api/studio, /api/services, /api/pages before summarising.
  • MCP: POST /mcp when your client supports tools.
  • If intent is ambiguous, ask one clarifying question, then pick the most specific skill.
  • Do not invent fixed prices; use pricing.md as indicative EUR only.

Agent Platform Configs

AI coding agent rules and skills live in the public front-v2 repository: .claude/, .cursor/, .windsurf/, and AGENTS.md.

npx skills add https://github.com/north28-studio/front-v2 --skill north28

Listed on skills.sh after installs via the skills CLI.

Quickstart

Three curl commands to get from zero to studio data. No API key required.

1. Get studio info

curl https://north28.studio/api/studio
{
                    "name": "NORTH28 STUDIO",
                    "description": "North28 is a creative studio specialising in strategy, digital products, branding, and audiovisual content.",
                    "url": "https://north28.studio",
                    "contact": { "email": "hi@north28.studio" },
                    "slogan": "Bold brands. No fluff. No boring."
                  }

2. List services

curl https://north28.studio/api/services
[
                    { "id": "strategy",    "title": "Strategy",    "description": "Figuring out what you actually need, before we build what you asked for." },
                    { "id": "digital",     "title": "Digital",     "description": "Websites and apps built from scratch. Scalable, fast, and idiot-proof." },
                    { "id": "branding",    "title": "Branding",    "description": "Corporate identities that don't look like they were generated by a 2010 naming tool." },
                    { "id": "audiovisual", "title": "Audiovisual", "description": "Visuals that will make your competitors nervously refresh your page." }
                  ]

3. Call the MCP server (agent-native)

curl -X POST https://north28.studio/mcp \
                    -H "Content-Type: application/json" \
                    -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_studio_info","arguments":{}}}'
{
                    "jsonrpc": "2.0",
                    "id": 1,
                    "result": {
                      "content": [{ "type": "text", "text": "{ ... studio info ... }" }]
                    }
                  }

REST Endpoints

GET/api/studioStudio identity — name, description, contact, slogan.
GET/api/servicesFull service catalogue: Strategy, Digital, Branding, Audiovisual.
GET/api/pagesAll public site pages with URLs.
POST/api/batchBatch / bulk — fetch multiple endpoints in one request (max 10).
POST/mcpMCP JSON-RPC 2.0 endpoint (agent-native access).

WebMCP (Declarative)

The homepage exposes read-only studio data as WebMCP declarative tools — HTML forms annotated with toolname and tooldescription. Each tool name matches an MCP tool and submits via GET to the public REST twin. Site-wide discovery meta tags: webmcp-endpoint, webmcp-transport, webmcp-tools.

get_studio_infoReturns name, description, contact, and services.
list_servicesFull service catalogue with descriptions.
list_pagesAll public site pages with URLs.

Forms live on / (screen-reader only; toolautosubmit → REST JSON).

MCP Server

Agent-native access via Model Context Protocol (JSON-RPC 2.0, Streamable HTTP). Endpoint: POST https://north28.studio/mcp

get_studio_infoReturns name, description, contact, and services.
list_servicesFull service catalogue with descriptions.
list_pagesAll public site pages with URLs.

Example: initialize session

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "initialize",
  "params": {
    "protocolVersion": "2024-11-05",
    "capabilities": {},
    "clientInfo": {
      "name": "my-agent",
      "version": "1.0"
    }
  }
}

Agent Discovery Endpoints

/openapi.jsonOpenAPI 3.1 specification
/.well-known/mcp.jsonMCP server discovery
/.well-known/agent-skillsSkill list (JSON)
/.well-known/agent.jsonGeneral agent discovery
/llms.txtLLM index (llms.txt spec)
/llms-full.txtFull LLM context
/positioning.mdNiche, alternatives, and who we are for
/pricing.mdIndicative EUR pricing (custom quote)
/api/studio.mdStudio API markdown twin (public)
/agents.mdHuman-readable agent overview
/docs.mdAPI docs markdown twin (when-to-use for agents)
/skills.shShell-accessible skills descriptor

Authentication

All current endpoints are public — no API key or token required. The booking wizard at /manifesto submits contact information without requiring visitor credentials. See auth.md for the full OAuth / agent-auth reference.