← Lee Sugano Digital Solutions

開発者およびエージェント向けドキュメント

Lee Sugano Digital Solutions の公開API、OpenAPI仕様、Markdownコンテンツネゴシエーション、MCPサーバー。

このページでは、leesugano.com がプログラムから利用できる形で公開しているすべて(公開コンテンツAPI、それを記述するOpenAPI仕様、全ページのMarkdown表現、MCPサーバー)を説明します。

APIキーも登録も不要です。エンドポイントは公開されており、IP単位でレート制限があり、エラーを含むすべてのレスポンスはJSONです。

クイックスタート

ほとんどの用途は3つの呼び出しでカバーできます。仕様の取得、公開記事の一覧、任意のページのMarkdown取得です。

# OpenAPI
curl -s https://leesugano.com/openapi.json

# listPublishedPosts
curl -s "https://leesugano.com/api/posts?limit=5&locale=en"

# Markdown
curl -s -H "Accept: text/markdown" https://leesugano.com/blog

公開エンドポイント

以下のエンドポイントはすべて匿名リクエストを受け付けます。リクエストとレスポンスの完全なスキーマはOpenAPI仕様にあります。

メソッドパスoperationId内容
GET/api/postslistPublishedPostsList published blog posts
GET/api/categorieslistCategoriesList blog categories
GET/api/tagslistTagsList blog tags
GET/api/posts/{id}/reactionsgetPostReactionsRead a post's reactions
POST/api/posts/{id}/reactionsreactToPostAdd, switch or remove a reaction
POST/api/newslettersubscribeToNewsletterSubscribe an email to the newsletter
POST/api/start/recommendrecommendSolutionRecommend a solution from a business profile
GET/api/ogrenderOpenGraphImageRender a 1200x630 Open Graph image

openapi.json · openapi.yaml

同じURLでMarkdown

すべての公開ページは、同じURLからブラウザにはHTMLを、エージェントにはMarkdownを返します。判定は acceptmarkdown.com の規約に従い Accept ヘッダーで行われます。

レスポンスには Vary: Accept が付くため、CDNは2つの表現を別々にキャッシュします。明示的なURLが必要な場合はパスに .md を付けてください。

curl -sI -H "Accept: text/markdown" https://leesugano.com/blog
curl -s https://leesugano.com/blog.md

エラー形式

エラーがHTMLで返ることはありません。すべての失敗は以下のフィールドを持つJSONオブジェクトと、対応するHTTPステータスで返されます。

変わる可能性のある error のテキストではなく、安定した code で分岐してください。

フィールド意味
error人間向けのメッセージ。予告なく変わることがあります。
codeSCREAMING_SNAKE_CASE の安定したコード。ロジックにはこれを使ってください。
requestIdリクエスト識別子。x-request-id ヘッダーにも入ります。
detailsバリデーションの詳細。開発環境でのみ返ります。

レート制限

7 個の公開エンドポイントは、60 秒のウィンドウでIP単位のレート制限が適用されます。

すべてのレスポンスに RateLimit-Limit、RateLimit-Remaining、RateLimit-Reset が付きます。制限を超えると Retry-After(秒)付きの 429 が返ります。ループで再試行せず、これらのヘッダーで自己制御してください。

エンドポイント上限
GET /api/posts60 リクエスト/分(IP単位) / 60s
GET /api/categories60 リクエスト/分(IP単位) / 60s
GET /api/tags60 リクエスト/分(IP単位) / 60s
GET /api/posts/{id}/reactions60 リクエスト/分(IP単位) / 60s
POST /api/posts/{id}/reactions20 リクエスト/分(IP単位) / 60s
POST /api/newsletter10 リクエスト/分(IP単位) / 60s
POST /api/start/recommend8 リクエスト/分(IP単位) / 60s

MCPサーバー

https://mcp.leesugano.com で Model Context Protocol サーバーを Streamable HTTP トランスポートで運用しています。

OAuthで保護されており、ツール一覧は匿名ではなく認可後に利用できます。

AIエージェント向け

運用上の指示(どの案件に適し、どれに適さないか、各意図に対する具体的な呼び出し方)は /agents.md にあります。

会社に関する正規の事実は /llms.txt に、拡張版は /llms-full.txt にあります。

機械可読リソース

安定したファイル。キャッシュ済みで CORS 許可。