ESA MCP Server
by d-kimuson
- openapi-spec
{
"openapi": "3.0.0",
"info": {
"title": "esa API",
"version": "1.0.0",
"description": "API for esa.io - A documentation sharing service"
},
"servers": [
{
"url": "https://api.esa.io",
"description": "Production server"
}
],
"security": [{ "bearerAuth": [] }],
"paths": {
"/oauth/token": {
"$ref": "./oauth.json#/paths/~1oauth~1token"
},
"/oauth/token/info": {
"$ref": "./oauth.json#/paths/~1oauth~1token~1info"
},
"/oauth/revoke": {
"$ref": "./oauth.json#/paths/~1oauth~1revoke"
},
"/v1/teams": {
"$ref": "./teams.json#/paths/~1v1~1teams"
},
"/v1/teams/{team_name}": {
"$ref": "./teams.json#/paths/~1v1~1teams~1{team_name}"
},
"/v1/teams/{team_name}/stats": {
"$ref": "./teams.json#/paths/~1v1~1teams~1{team_name}~1stats"
},
"/v1/teams/{team_name}/posts": {
"$ref": "./posts.json#/paths/~1v1~1teams~1{team_name}~1posts"
},
"/v1/teams/{team_name}/posts/{post_number}": {
"$ref": "./posts.json#/paths/~1v1~1teams~1{team_name}~1posts~1{post_number}"
},
"/v1/teams/{team_name}/posts/{post_number}/comments": {
"$ref": "./comments.json#/paths/~1v1~1teams~1{team_name}~1posts~1{post_number}~1comments"
},
"/v1/teams/{team_name}/comments/{comment_id}": {
"$ref": "./comments.json#/paths/~1v1~1teams~1{team_name}~1comments~1{comment_id}"
},
"/v1/teams/{team_name}/comments": {
"$ref": "./comments.json#/paths/~1v1~1teams~1{team_name}~1comments"
},
"/v1/teams/{team_name}/posts/{post_number}/stargazers": {
"$ref": "./stars.json#/paths/~1v1~1teams~1{team_name}~1posts~1{post_number}~1stargazers"
},
"/v1/teams/{team_name}/posts/{post_number}/star": {
"$ref": "./stars.json#/paths/~1v1~1teams~1{team_name}~1posts~1{post_number}~1star"
},
"/v1/teams/{team_name}/comments/{comment_id}/stargazers": {
"$ref": "./stars.json#/paths/~1v1~1teams~1{team_name}~1comments~1{comment_id}~1stargazers"
},
"/v1/teams/{team_name}/comments/{comment_id}/star": {
"$ref": "./stars.json#/paths/~1v1~1teams~1{team_name}~1comments~1{comment_id}~1star"
},
"/v1/teams/{team_name}/posts/{post_number}/watchers": {
"$ref": "./watches.json#/paths/~1v1~1teams~1{team_name}~1posts~1{post_number}~1watchers"
},
"/v1/teams/{team_name}/posts/{post_number}/watch": {
"$ref": "./watches.json#/paths/~1v1~1teams~1{team_name}~1posts~1{post_number}~1watch"
},
"/v1/teams/{team_name}/categories/batch_move": {
"$ref": "./categories.json#/paths/~1v1~1teams~1{team_name}~1categories~1batch_move"
},
"/v1/teams/{team_name}/tags": {
"$ref": "./tags.json#/paths/~1v1~1teams~1{team_name}~1tags"
},
"/v1/teams/{team_name}/invitation": {
"$ref": "./invitations.json#/paths/~1v1~1teams~1{team_name}~1invitation"
},
"/v1/teams/{team_name}/invitation_regenerator": {
"$ref": "./invitations.json#/paths/~1v1~1teams~1{team_name}~1invitation_regenerator"
},
"/v1/teams/{team_name}/invitations": {
"$ref": "./invitations.json#/paths/~1v1~1teams~1{team_name}~1invitations"
},
"/v1/teams/{team_name}/invitations/{code}": {
"$ref": "./invitations.json#/paths/~1v1~1teams~1{team_name}~1invitations~1{code}"
},
"/v1/teams/{team_name}/emojis": {
"$ref": "./emojis.json#/paths/~1v1~1teams~1{team_name}~1emojis"
},
"/v1/teams/{team_name}/emojis/{code}": {
"$ref": "./emojis.json#/paths/~1v1~1teams~1{team_name}~1emojis~1{code}"
},
"/v1/user": {
"$ref": "./user.json#/paths/~1v1~1user"
}
},
"components": {
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer"
}
},
"parameters": {
"teamName": {
"name": "team_name",
"in": "path",
"required": true,
"schema": { "type": "string" },
"description": "Team name (subdomain)"
},
"page": {
"name": "page",
"in": "query",
"schema": { "type": "number" },
"description": "page number"
},
"perPage": {
"name": "per_page",
"in": "query",
"schema": { "type": "number" },
"description": "number of items per page"
}
},
"schemas": {
"Pagination": {
"type": "object",
"properties": {
"prev_page": { "type": "integer", "nullable": true },
"next_page": { "type": "integer", "nullable": true },
"total_count": { "type": "integer" },
"page": { "type": "integer" },
"per_page": { "type": "integer" },
"max_per_page": { "type": "integer" }
}
},
"Team": {
"type": "object",
"properties": {
"name": { "type": "string" },
"privacy": {
"type": "string",
"enum": ["closed", "open"]
},
"description": { "type": "string" },
"icon": {
"type": "string",
"format": "uri"
},
"url": {
"type": "string",
"format": "uri"
}
}
},
"Member": {
"type": "object",
"properties": {
"myself": { "type": "boolean" },
"name": { "type": "string" },
"screen_name": { "type": "string" },
"icon": {
"type": "string",
"format": "uri"
},
"email": {
"type": "string",
"format": "email"
},
"posts_count": { "type": "integer" },
"role": {
"type": "string",
"enum": ["owner", "member"]
},
"joined_at": {
"type": "string",
"format": "date-time"
},
"last_accessed_at": {
"type": "string",
"format": "date-time"
}
}
},
"Post": {
"type": "object",
"properties": {
"number": { "type": "integer" },
"name": { "type": "string" },
"full_name": { "type": "string" },
"wip": { "type": "boolean" },
"body_md": { "type": "string" },
"body_html": { "type": "string" },
"created_at": {
"type": "string",
"format": "date-time"
},
"message": { "type": "string" },
"url": {
"type": "string",
"format": "uri"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"tags": {
"type": "array",
"items": { "type": "string" }
},
"category": { "type": "string", "nullable": true },
"revision_number": { "type": "integer" },
"created_by": { "$ref": "#/components/schemas/User" },
"updated_by": { "$ref": "#/components/schemas/User" },
"kind": {
"type": "string",
"enum": ["stock", "flow"]
},
"comments_count": { "type": "integer" },
"tasks_count": { "type": "integer" },
"done_tasks_count": { "type": "integer" },
"stargazers_count": { "type": "integer" },
"watchers_count": { "type": "integer" },
"star": { "type": "boolean" },
"watch": { "type": "boolean" }
}
},
"Comment": {
"type": "object",
"properties": {
"id": { "type": "integer" },
"body_md": { "type": "string" },
"body_html": { "type": "string" },
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"url": {
"type": "string",
"format": "uri"
},
"created_by": { "$ref": "#/components/schemas/User" },
"stargazers_count": { "type": "integer" },
"star": { "type": "boolean" }
}
},
"User": {
"type": "object",
"properties": {
"myself": { "type": "boolean" },
"name": { "type": "string" },
"screen_name": { "type": "string" },
"icon": {
"type": "string",
"format": "uri"
}
}
},
"ErrorResponseBody": {
"type": "object",
"properties": {
"message": { "type": "string" },
"error": { "type": "string" }
},
"required": ["message", "error"]
}
}
}
}