Telegram Bot API Docs MCP
Provides access to the current Telegram Bot API documentation, including methods, types, fields, search, and related types.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Telegram Bot API Docs MCPGet details for the sendMessage method"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Telegram Bot API Docs MCP
It gives AI clients access to the current Telegram Bot API documentation. The server scrapes the official docs on startup, validates the method/type graph, and serves the result through MCP tools and JSON resources.
Run
Run the published package over stdio, which is the usual transport for local AI client bindings:
uvx telegram-bot-api-docs-mcpOr run as an HTTP MCP server:
uvx telegram-bot-api-docs-mcp --transport http --host 127.0.0.1 --port 8080Startup requires internet access because the server fetches
https://core.telegram.org/bots/api every time it starts.
For local development from a checkout, use uv run python main.py with the same
arguments.
Related MCP server: Gemini Docs MCP Server
Codex
This repo includes a project-scoped Codex config at .codex/config.toml:
[mcp_servers.telegram-bot-api-docs]
command = "uvx"
args = ["telegram-bot-api-docs-mcp"]Start a new Codex session from this trusted repo and run /mcp to confirm that
telegram-bot-api-docs is connected.
Tools
get_bot_api_overview: version, release date, changelog URL, and counts.list_methods/list_types: paginated method/type discovery with optional search.get_method/get_type: full docs for a method or type.get_field: docs for a specific method parameter or type field.search_bot_api: search names, descriptions, fields, return types, and relationships.get_related_types: subtype and usage graph for a type.dump_bot_api_spec: raw full spec or a single section.
Resources
telegram-bot-api://overviewtelegram-bot-api://methodstelegram-bot-api://typestelegram-bot-api://spec
Scraper
scrape.py contains the parser and schema validation used by the MCP server.
Thanks to PaulSonOfLars for such wonderful project
Example
Here is an example bot created completely using codex
Made by Mukund
Available Tools
9 toolsdump_bot_api_specA
Return the raw scraped Bot API documentation spec, optionally restricted to one section.
| Name | Required | Description | Default |
|---|---|---|---|
| section | No | all |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so description must cover behavioral traits. It only states it returns data (safe read) but omits potential large output, rate limits, or authentication needs. Minimal disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, no filler, directly conveys purpose and optional restriction. Concise and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given simple parameters and an output schema (not shown but exists), description is mostly sufficient. However, it could mention that output is raw/unprocessed or that it might be large for 'all'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description explains the single parameter's purpose ('optionally restricted to one section') and the enum values are clear. Adds meaningful context beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verb 'Return' and resource 'raw scraped Bot API documentation spec', with optional restriction. It clearly distinguishes from sibling tools that provide more processed or specific information.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus siblings like get_method or get_type. The description does not mention use cases, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_bot_api_overviewA
Return Bot API version metadata and counts for the loaded documentation.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description should disclose behavioral traits. It does not mention whether the operation is read-only, requires authentication, or any side effects. The tool appears safe, but the description fails to confirm this.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single concise sentence that is front-loaded with the key action and result. Every word earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters, no annotations, but an output schema exists, the description is minimally adequate. However, it lacks usage guidance and behavioral transparency, leaving some gaps for an agent to infer correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, and the description correctly reflects that. Since schema coverage is 100%, the baseline is 4. The description adds no parameter info, but none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns 'Bot API version metadata and counts for the loaded documentation', which is a specific verb+resource combination. It distinguishes from sibling tools like dump_bot_api_spec, get_method, etc., which serve different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. The purpose implies use for obtaining a high-level overview, but no 'when not to use' or alternative recommendations are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_fieldC
Return documentation for a method parameter or type field.
| Name | Required | Description | Default |
|---|---|---|---|
| section | No | ||
| field_name | Yes | ||
| owner_name | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It only states what is returned, with no mention of side effects, authentication, or error conditions. Basic behavioral traits are missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no waste. Information is front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has an output schema, so return values need not be detailed. However, with 3 parameters and no usage context, the description feels incomplete. It does not explain how to select parameters or typical usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema coverage, the description should clarify each parameter. It partially does by linking 'section' to methods/types, but does not explain owner_name or field_name beyond their names. Adds minimal meaning over schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool returns documentation for a method parameter or type field. This is specific and distinguishes from siblings like get_method or get_type, though it could mention what the documentation includes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool over alternatives like get_method or get_type. The description does not provide any use case or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_methodC
Return full documentation for a Telegram Bot API method.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| include_return_types | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must carry the full burden. It implies a read-only operation but does not disclose any behavioral traits such as authentication requirements, rate limits, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently communicates the tool's purpose without extraneous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the description does not mention what 'full documentation' includes or any context about the return value structure. For a tool with two parameters and zero param coverage, the description is too sparse.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description adds no meaning for either parameter (name or include_return_types). The agent receives no guidance on what values to provide or how they affect the result.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns full documentation for a Telegram Bot API method, using a specific verb and resource. It distinguishes itself from siblings like list_methods and get_type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like get_bot_api_overview or search_bot_api. There is no mention of prerequisites or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_typeB
Return full documentation for a Telegram Bot API type.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| include_related_methods | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full transparency burden. It states the tool returns documentation but does not disclose behaviors like error handling for invalid type names, or that the output includes a full type definition. The description is adequate for a straightforward lookup but leaves some behavioral ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence of 8 words. Every word adds value, and it efficiently communicates the core purpose without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema and the tool's simplicity, the description is minimally complete. However, it does not mention any prerequisites, error conditions, or the scope of 'full documentation', which could be relevant for an agent deciding between this and related tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. However, it adds no meaning beyond the schema field types and defaults. The description does not clarify what 'name' refers to (e.g., type name format or case sensitivity) or what 'include_related_methods' entails, failing to add value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it returns 'full documentation for a Telegram Bot API type', using a specific verb and resource, and distinguishes from siblings like get_field (for fields) and get_method (for methods).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like get_field, get_method, or get_related_types. The agent must infer usage from the tool name alone, lacking explicit when-to-use or when-not-to-use context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_methodsB
List Telegram Bot API methods, optionally filtered by a search query.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | ||
| offset | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states the basic behavior (list, filter) but fails to mention that it is a read-only operation, does not describe pagination behavior (despite limit/offset parameters), and does not disclose any side effects, authentication needs, or rate limits. The word 'optionally' is vague and does not specify how filtering works.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently communicates the core purpose. It is appropriately sized for a simple tool, though it could include brief parameter descriptions without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema, return values need not be explained. However, the description does not address pagination, the meaning of parameters, or differentiation from sibling tools. With 3 undocumented parameters and no usage guidance, the description is incomplete for effective agent invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for the parameters. The description only indirectly references the 'query' parameter ('filtered by a search query') and completely omits 'limit' and 'offset'. The schema provides defaults but no explanation of their meaning or usage. The description adds minimal value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('list'), the resource ('Telegram Bot API methods'), and the optional filter ('by a search query'). It effectively distinguishes from sibling tools like 'get_method' (singular) and 'search_bot_api' (broader search).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The usage context is implied through the description (listing methods optionally filtered), but there is no explicit guidance on when to use this tool versus alternatives like 'search_bot_api' or 'list_types'. No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_typesC
List Telegram Bot API types, optionally filtered by a search query.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | ||
| offset | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description must fully convey behavioral traits. It does not mention pagination (limit/offset), that it returns a list, or any safety/reversibility traits. For a list operation, basic behavioral information is missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise (12 words, one sentence) and front-loaded with the core action. However, it sacrifices informativeness for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the existence of an output schema, return values may be partially covered, but the description fails to explain pagination parameters (limit, offset) and does not clarify how the output relates to the input. For a tool with 3 parameters and many siblings, more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%. The description only mentions the query parameter ('filtered by a search query'), but ignores limit and offset. This leaves two parameters undocumented in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List' and the resource 'Telegram Bot API types', and distinguishes this list operation from sibling tools that are more specific (e.g., get_type, get_field).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like get_type or search_bot_api. The description does not provide context or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_bot_apiC
Search method/type names, descriptions, fields, return types, and relationships.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | ||
| section | No | all |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description only mentions what is searched, but omits behavioral traits like search algorithm, pagination behavior, or result ordering. The limit and section parameters are not explained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence is concise but lacks necessary detail. Could be expanded with minimal overhead.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 3 parameters and an output schema, the description is too brief. No mention of output structure, search scope nuances, or relationship to sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and description does not elaborate on parameter meanings beyond their names. The section enum and limit default are not clarified. Description fails to compensate for schema gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it searches multiple API elements (names, descriptions, fields, etc.), but does not distinguish from sibling tools like get_method or list_types which are more specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like dump_bot_api_spec or get_bot_api_overview. Missing context for effective selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
9 tool updates
v0.1.0- First observed
dump_bot_api_spec - First observed
get_bot_api_overview - First observed
get_field - First observed
get_method - First observed
get_related_types - First observed
get_type - First observed
list_methods - First observed
list_types - First observed
search_bot_api
TDQS
Each tool addresses a distinct aspect of the Telegram Bot API documentation: raw spec retrieval, overview metadata, individual methods/types, fields, relationships, listings, and search. There is no functional overlap.
All tool names follow a clear verb_noun pattern in snake_case (e.g., get_method, list_types, search_bot_api). The verbs (dump, get, list, search) and nouns are consistent and predictable.
With 9 tools, the server covers the core operations needed to explore Telegram Bot API documentation without being sparse or overwhelming. Each tool serves a clear purpose.
The tool set fully covers the API documentation domain: listing, fetching, searching, relationship navigation, raw spec access, and metadata. There are no obvious gaps for the intended use case.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Live Steam Market API docs, schemas, products, games, markets and endpoint search.
Provides access to Google's public developer documentation.
Look up Pokémon, moves, abilities, items, natures, and type matchups from PokéAPI v2.
Search and read the StitchAPI docs: search_docs finds relevant sections, get_doc reads a page.
Related MCP Servers
- -
- AlicenseAqualityDmaintenanceProvides tools to search and retrieve Google Gemini API documentation with full-text search capabilities and automatic documentation updates stored in a local SQLite database.3101MIT
- FlicenseNot gradedqualityCmaintenanceQuery Godot Engine documentation with full-text search across classes, methods, properties, and inheritance.1-
- AlicenseBqualityCmaintenanceEnables deterministic querying of RVTDocs documentation with tools for fetching, scanning, and debugging documentation content.9MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/MukundSinghRajput/telegram-bot-api-docs-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server