Personal Site
API ONLINE

Agent Gateway

Access BIM/CAD expertise programmatically. REST API (GET) for any HTTP client, MCP for advanced agents, or plain text for crawlers.

Choose Your Protocol

  • Can you send HTTP GET? → Use the REST API below (recommended)
  • Have MCP client support? → Connect to https://botforge.cc/api/mcp for tool calling
  • Can only read text? → Fetch /llms-full.txt for all content

REST API Recommended

Simple GET endpoints returning JSON. No authentication, no handshake. Works with any HTTP client.

Quick Example

GET https://botforge.cc/api/search?q=BIM&limit=5

// Response: { "data": [...], "meta": { "total": 5, "limit": 5, "query": "BIM" } }
GET/api/search?q=BIM&limit=5
Unified search across all content
GET/api/posts
List blog posts (?q=&category=&tag=&limit=)
GET/api/posts/{slug}
Full blog post with content
GET/api/projects
List projects (?tag=&featured=&limit=)
GET/api/projects/{slug}
Full project details
GET/api/knowledge
Knowledge base (?type=faq|howto|glossary&tag=&limit=)
GET/api/knowledge/{slug}
Full knowledge item
GET/api/author
Author profile (expertise, skills, certifications)
GET/api/services
Consulting services catalog
GET/api/categories
Blog categories with descriptions

MCP Protocol

For agents with MCP client support. Provides tool calling, resources, and prompt templates.

Endpoint
https://botforge.cc/api/mcp
Transport
Streamable HTTP
Server
personal-site-content v1.0.0
Manifest
https://botforge.cc/agent/manifest.json

1. Initialize Connection

{
  "jsonrpc": "2.0",
  "method": "initialize",
  "params": {
    "protocolVersion": "2025-03-26",
    "capabilities": {},
    "clientInfo": {
      "name": "your-agent",
      "version": "1.0.0"
    }
  },
  "id": 1
}

2. Call a Tool

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "search_content",
    "arguments": {
      "query": "BIM implementation",
      "limit": 5
    }
  },
  "id": 2
}

Tools (7)

search_content

Cross-type unified search across blog, projects, and knowledge base

query (string), types? (blog|projects|knowledge)[], limit? (number)

search_posts

Search blog posts with optional category filter

query (string), category? (bim|cad|industry|career), limit? (number)

recommend_articles

Semantic article recommendations for a topic

topic (string), limit? (number)

get_post_content

Fetch full blog post content by slug

slug (string)

get_project_detail

Fetch full project details by slug

slug (string)

get_expertise

Query author expertise in a specific domain (BIM, CAD, Revit, etc.)

domain (string)

list_categories

List all blog categories with descriptions

(none)

Resources (7)

blog://postsAll published blog posts (JSON)
blog://posts/{slug}Single blog post (Markdown)
projects://listAll projects (JSON)
projects://detail/{slug}Single project (Markdown)
site://authorAuthor profile (JSON)
site://servicesConsulting services (JSON)
site://aboutSite description (Markdown)

Prompt Templates (3)

summarize_expertise

Generate author expertise summary

focus? (string)

recommend_articles

Curated article recommendations for topic + audience

topic (string), audience? (string)

explain_service

Explain consulting services with context

service_id? (string), context? (string)

Alternative Access

Not using MCP? These endpoints provide content in simpler formats:

/llms.txtLLM Content Index
Concise site overview for LLM crawlers
/llms-full.txtFull Content Dump
All published content as plain text (dynamic)
/feed.xmlRSS Feed
Blog posts in RSS 2.0 format
/sitemap.xmlSitemap
All pages with priority and change frequency
/.well-known/ai-agent.jsonAgent Discovery
Static agent capability advertisement
/agent/manifest.jsonMCP Manifest
Complete capability manifest (JSON)

Discovery Signals

Every HTTP response from this site includes these headers for automatic MCP discovery:

Link: </api/mcp>; rel="service"; title="MCP Content Server"
Link: </agent>; rel="agent-guide"

# AI agents also receive:
X-Agent-Protocol: MCP/1.0; endpoint=/api/mcp; guide=/agent; manifest=/agent/manifest.json