streamable-httpMITupdated 13d ago
A remote MCP server for the Telegram channels you administer: read analytics, draft posts from your own scraped sources, build content plans, schedule and publish β from inside ChatGPT, Claude, or any MCP-capable client.
What can you do with AwrAIter β Telegram channels?
AwrAIter MCP Server
A remote MCP server for the Telegram channels you administer: read analytics, draft posts from your own scraped sources, build content plans, schedule and publish β from inside ChatGPT, Claude, or any MCP-capable client.
Not a userbot. No phone number, no login code, no .session file. The server acts through your AwrAIter account and reaches only the channels of the team you authorize.
Π ΡΡΡΠΊΠ°Ρ Π²Π΅ΡΡΠΈΡ Β· Connection guide Β· Tool reference Β· awraiter.ai
Server
| URL | https://awraiter.ai/mcp |
| Transport | Streamable HTTP |
| Authentication | OAuth 2.1 (PKCE, dynamic client registration) or a personal access token |
| Registry name | ai.awraiter/telegram |
| Availability | Every plan, including the free tier |
Quick start
You need an AwrAIter account (sign in with Telegram) and at least one connected channel.
Claude (web / desktop)
Settings β Connectors β Add custom connector, paste the URL, press Connect, and confirm access for the team you want.
https://awraiter.ai/mcp
Claude Code
claude mcp add --transport http awraiter https://awraiter.ai/mcp
ChatGPT
In the browser, Settings β Connectors offers OAuth β paste the URL and press Connect. The ChatGPT/Codex desktop form has no OAuth option; connect it with a token instead (see below).
Clients that take a JSON config
{
"mcpServers": {
"awraiter": {
"type": "http",
"url": "https://awraiter.ai/mcp"
}
}
}
Clients without OAuth (token auth)
Create a token in the panel under MCP connection β it is shown once β and send it as a header:
Authorization: Bearer YOUR_TOKEN
Step-by-step instructions for Claude, Claude Code, ChatGPT, Codex, Gemini CLI and Qwen Code are in docs/connect.md; ready-to-paste config files are in examples/.
Tools
25 tools. The ones that change something are marked βοΈ β everything else is read-only.
| Tool | What it does |
|---|---|
list_teams |
Teams you belong to; marks the active one |
switch_team βοΈ |
Switch the active team (membership is verified server-side) |
list_channels |
Channels owned by the active team |
get_channel |
One channel's profile: name, chat id, language, description |
get_channel_stats |
Subscribers, reach, ER and dynamics over 1β90 days |
get_channel_insights |
What works for this audience, scored against the channel's own 30-day median |
get_recent_posts |
Most recent published posts, newest first |
search_channel_content |
Semantic search over the channel's own posts and source material |
search_sources |
Search the channel's bound sources |
draft_from_sources |
Freshest scraped sources not yet used in a post |
deep_analyze βοΈ |
Deep AI analysis of channel performance β the one tool that spends the team's AI credits |
check_uniqueness |
Is this draft a near-duplicate of existing posts or a copy of a source? |
score_post |
Data-grounded quality signal for a draft, specific to this channel |
preview_post |
Exact message that would be sent β title, body, media, formatting |
create_post_from_text βοΈ |
Save a ready-to-publish draft from text the assistant wrote |
schedule_post βοΈ |
Publish a draft now, or schedule it for a given time |
cancel_scheduled_post βοΈ |
Cancel a scheduled post by its plan id |
get_content_plan |
The channel's plan configuration and its slots |
create_content_plan βοΈ |
Create a content plan for a channel |
find_free_slot |
Earliest slot in the plan with no post yet |
get_channel_memory |
The channel's brand brief and banlist |
set_brand_brief βοΈ |
Replace the channel's brand/tone guidance |
add_banlist_entry βοΈ |
Add a forbidden word to the channel's banlist |
remove_banlist_entry βοΈ |
Remove a word from the banlist |
get_playbook |
Step-by-step operator playbook for a workflow |
What each tool returns, and the exact scope it needs, is in docs/tools.md.
Authentication
OAuth 2.1 with PKCE and dynamic client registration; redirect URIs are restricted to HTTPS or HTTP loopback, authorization codes are single-use, and refresh tokens rotate. A token is bound to one user, one team and one scope.
Personal access tokens come in two scopes:
| Scope | Allows |
|---|---|
read |
Read-only tools; every βοΈ tool is refused server-side |
full |
Everything the account can do in the panel |
Tokens are listed, and can be revoked, in the panel under MCP connection.
Security model
| Userbot-style Telegram MCP servers | AwrAIter | |
|---|---|---|
| What you hand over | Phone number, login code, session file | An OAuth grant to your own account |
| What it can reach | Everything your account can β DMs, groups, private material | Only the channels of the team you authorized |
| How it publishes | As you | Through the panel's own service admin, with the same permission checks as the UI |
| If the token leaks | Your whole Telegram account | Revoke the token in the panel; nothing else is exposed |
Every write goes through the same channel-level access control as the panel, and rate limits apply per token. The full model, and how to report a vulnerability, are in SECURITY.md.
About AwrAIter
AwrAIter is a panel for people who run Telegram channels: weekly content plans, AI drafts in your channel's tone, scheduled publishing, and analytics for everything published β growth, reach, ER/ERR, per-post performance, channel comparison, export to XLSX or Google Sheets. One channel is free forever; paid plans start at β¬9/month. See awraiter.ai.
Support and legal
- Questions and issues: awraiter.ai/support
- Terms of Service Β· Privacy Policy
- Operated by Mediazione Italia S.r.l. Payments are handled by Stripe; we never see card numbers.
- Your channel content stays yours β we do not train models on it unless you explicitly opt in (off by default).
License
Documentation and examples in this repository are released under the MIT License. The AwrAIter service itself is proprietary.
Install
Add AwrAIter β Telegram channels to your client. Pick the one you use.
claude mcp add --transport http awraiter-telegram-channels https://awraiter.ai/mcpcodex mcp add awraiter-telegram-channels --url https://awraiter.ai/mcp{
"mcpServers": {
"awraiter-telegram-channels": {
"url": "https://awraiter.ai/mcp"
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
{
"servers": {
"awraiter-telegram-channels": {
"type": "http",
"url": "https://awraiter.ai/mcp"
}
}
}Add to `.vscode/mcp.json` in your workspace.
{
"mcpServers": {
"awraiter-telegram-channels": {
"url": "https://awraiter.ai/mcp"
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"awraiter-telegram-channels": {
"serverUrl": "https://awraiter.ai/mcp"
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
16 tools
AwrAIter β Telegram channels exposes 16 tools to a connected agent.
- list_teams
- Teams you belong to; marks the active one
- list_channels
- Channels owned by the active team
- get_channel
- One channel's profile: name, chat id, language, description
- get_channel_stats
- Subscribers, reach, ER and dynamics over 1β90 days
- get_channel_insights
- What works for this audience, scored against the channel's own 30-day median
- get_recent_posts
- Most recent published posts, newest first
- search_channel_content
- Semantic search over the channel's own posts and source material
- search_sources
- Search the channel's bound sources
- draft_from_sources
- Freshest scraped sources not yet used in a post
- check_uniqueness
- Is this draft a near-duplicate of existing posts or a copy of a source?
- score_post
- Data-grounded quality signal for a draft, specific to this channel
- preview_post
- Exact message that would be sent β title, body, media, formatting
- get_content_plan
- The channel's plan configuration and its slots
- find_free_slot
- Earliest slot in the plan with no post yet
- get_channel_memory
- The channel's brand brief and banlist
- get_playbook
- Step-by-step operator playbook for a workflow
Score
80 / 100
Excellent
- Documentation25/25
- Maintenance19/25
- Trust16/20
- Capability8/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 6 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 16 tool(s) documented
- Provides prompt templates
- Provides resources
- 6 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint β no local install
Version history
| Versions | Published |
|---|---|
| 1.0.0Latest | Aug 21, 2026 |