mcp-esa-server-python
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ESA_TOKEN | Yes | Your esa.io API access token | |
| ESA_TEAM_NAME | Yes | Your esa.io team name (e.g., 'myteam') |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| user_get_infoB | Get current esa.io user information |
| posts_get_listC | Get a list of posts from esa.io Args: q: Search query page: Page number per_page: Number of posts per page (max 100) |
| posts_get_detailC | Get details of a specific post from esa.io Args: post_number: The number of the post to retrieve |
| posts_createB | Create a new post on esa.io Args: name: Post title body_md: Post body in Markdown format tags: List of tags for the post category: Category path (e.g., 'foo/bar') wip: Whether the post is Work In Progress (default: true) message: Commit message for the post |
| posts_updateC | Update an existing post on esa.io Args: post_number: The number of the post to update name: New post title body_md: New post body in Markdown format tags: New list of tags category: New category path wip: New WIP status message: Commit message for the update |
| posts_deleteC | Delete a post on esa.io Args: post_number: The number of the post to delete |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 6 tools
Every tool has a clearly distinct purpose with no ambiguity. The five post-related tools cover different CRUD operations (create, delete, get_detail, get_list, update), and the user_get_info tool handles a completely separate user information domain. An agent can easily distinguish between these tools based on their names and descriptions.
All tools follow a consistent verb_noun pattern with perfect uniformity. Post-related tools use 'posts_' prefix followed by action verbs (create, delete, get_detail, get_list, update), and the user tool follows the same structure with 'user_get_info'. There are no deviations in naming conventions throughout the set.
Six tools is well-scoped and appropriate for this esa.io content management server. The set provides complete CRUD operations for posts plus user information retrieval, with each tool earning its place. This is neither too sparse nor bloated for the domain of managing posts and user data on esa.io.
The tool surface provides complete coverage for the esa.io post management domain with full CRUD operations (create, read, update, delete) plus listing/search functionality. The addition of user information retrieval rounds out the surface nicely. There are no obvious gaps or dead ends for agents working with posts on esa.io.