init github
This commit is contained in:
parent
42e446cea0
commit
340f1478f4
5 changed files with 78 additions and 5 deletions
72
README.md
Normal file
72
README.md
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
# Telegram MCP server
|
||||
|
||||
The server is a bridge between the Telegram API and the AI assistants and is based on the [Model Context Protocol](https://modelcontextprotocol.io).
|
||||
|
||||
> [!IMPORTANT]
|
||||
> Ensure that you have read and understood the [Telegram API Terms of Service](https://core.telegram.org/api/terms) before using this server.
|
||||
> Any misuse of the Telegram API may result in the suspension of your account.
|
||||
|
||||
## What is MCP?
|
||||
|
||||
The Model Context Protocol (MCP) is a system that lets AI apps, like Claude Desktop or Cursor, connect to external tools and data sources. It gives a clear and safe way for AI assistants to work with local services and APIs while keeping the user in control.
|
||||
|
||||
## What does this server do?
|
||||
|
||||
- [x] Get current user data
|
||||
- [ ] Get the list of dialogs (chats, channels, groups)
|
||||
- [ ] Get the list of (unread) messages in the given dialog
|
||||
- [ ] Mark chanel as read
|
||||
- [ ] Retrieve messages by date and time
|
||||
- [ ] Download media files
|
||||
- [ ] Get the list of contacts
|
||||
- [ ] Draft a message
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
go install github.com/chaindead/telegram-mcp
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
### Telegram API Configuration
|
||||
|
||||
Before you can use the server, you need to connect to the Telegram API.
|
||||
|
||||
1. Get the API ID and hash from [Telegram API](https://my.telegram.org/auth)
|
||||
2. Run the following command:
|
||||
|
||||
```bash
|
||||
telegram-mcp auth --app-id <your-api-id> --api-hash <your-api-hash> --phone <your-phone-number>
|
||||
```
|
||||
|
||||
Enter the code you received from Telegram to connect to the API.
|
||||
|
||||
The password may be required if you have two-factor authentication enabled.
|
||||
|
||||
### Claude Desktop Configuration
|
||||
|
||||
Configure Claude Desktop to recognize the Exa MCP server.
|
||||
|
||||
1. Open the Claude Desktop configuration file:
|
||||
- in MacOS, the configuration file is located at `~/Library/Application Support/Claude/claude_desktop_config.json`
|
||||
- in Windows, the configuration file is located at `%APPDATA%\Claude\claude_desktop_config.json`
|
||||
|
||||
> __Note:__
|
||||
> You can also find claude_desktop_config.json inside the settings of Claude Desktop app
|
||||
|
||||
2. Add the server configuration
|
||||
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"telegram-mcp": {
|
||||
"command": "telegram-mcp",
|
||||
"env": {
|
||||
"TG_APP_ID": "<your-app-id>",
|
||||
"TG_API_HASH": "<your-api-hash>"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
3
auth.go
3
auth.go
|
|
@ -4,7 +4,8 @@ import (
|
|||
"context"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"telegram-mcp/internal/tg"
|
||||
|
||||
"github.com/chaindead/telegram-mcp/internal/tg"
|
||||
|
||||
"github.com/rs/zerolog/log"
|
||||
"github.com/urfave/cli/v3"
|
||||
|
|
|
|||
|
|
@ -6,8 +6,7 @@ import (
|
|||
"os/signal"
|
||||
"strconv"
|
||||
|
||||
"telegram-mcp/internal/tg"
|
||||
|
||||
"github.com/chaindead/telegram-mcp/internal/tg"
|
||||
"github.com/pkg/errors"
|
||||
"github.com/rs/zerolog"
|
||||
"github.com/rs/zerolog/log"
|
||||
|
|
|
|||
2
go.mod
2
go.mod
|
|
@ -1,4 +1,4 @@
|
|||
module telegram-mcp
|
||||
module github.com/chaindead/telegram-mcp
|
||||
|
||||
go 1.24
|
||||
|
||||
|
|
|
|||
3
serve.go
3
serve.go
|
|
@ -5,7 +5,8 @@ import (
|
|||
"encoding/json"
|
||||
"fmt"
|
||||
"os"
|
||||
"telegram-mcp/internal/tg"
|
||||
|
||||
"github.com/chaindead/telegram-mcp/internal/tg"
|
||||
|
||||
mcp "github.com/metoro-io/mcp-golang"
|
||||
"github.com/metoro-io/mcp-golang/transport/stdio"
|
||||
|
|
|
|||
Loading…
Reference in a new issue