Skip to main content
Glama
README.md7.56 kB
# Telegraph MCP Server [![npm version](https://badge.fury.io/js/telegraph-mcp.svg)](https://www.npmjs.com/package/telegraph-mcp) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) An MCP (Model Context Protocol) server that exposes the [Telegraph API](https://telegra.ph/api) as tools for Claude and other LLM clients. This allows AI assistants to create, edit, and manage Telegraph pages programmatically. ## Related Projects This is part of the Telegraph tools ecosystem: | Project | Description | Package | |---------|-------------|---------| | **telegraph-mcp** (this) | MCP Server for AI assistants (TypeScript) | [![npm](https://img.shields.io/npm/v/telegraph-mcp)](https://www.npmjs.com/package/telegraph-mcp) | | [telegraph-mcp-py](https://github.com/NehoraiHadad/telegraph-mcp-py) | MCP Server for AI assistants (Python) | [![PyPI](https://img.shields.io/pypi/v/telegraph-mcp-py)](https://pypi.org/project/telegraph-mcp-py/) | | [telegraph-js](https://github.com/NehoraiHadad/telegraph-js) | JavaScript/TypeScript library | [![npm](https://img.shields.io/npm/v/telegraph-api-client)](https://www.npmjs.com/package/telegraph-api-client) | | [telegraph-py](https://github.com/NehoraiHadad/telegraph-py) | Python library | [![PyPI](https://img.shields.io/pypi/v/telegraph-api-py)](https://pypi.org/project/telegraph-api-py/) | ## Quick Start ```bash npx telegraph-mcp ``` Or add to Claude Code: ```bash claude mcp add telegraph -- npx telegraph-mcp ``` ## Features - **13 Telegraph API tools** covering all Telegraph functionality - Create and manage Telegraph accounts - Create, edit, and retrieve Telegraph pages - View statistics for pages - **Markdown support** - Write content in Markdown, automatically converted to Telegraph format - **Templates** - Pre-built templates for blog posts, documentation, articles, changelogs, and tutorials - **Export/Backup** - Export pages to Markdown or HTML, backup entire accounts - **MCP Resources** - Access Telegraph pages as MCP resources - **MCP Prompts** - Pre-defined prompts for common tasks ## Installation ### Option 1: Via npm (Recommended) ```bash # With Claude Code claude mcp add telegraph -- npx telegraph-mcp # Or globally npm install -g telegraph-mcp ``` ### Option 2: From Source ```bash git clone https://github.com/NehoraiHadad/telegraph-mcp.git cd telegraph-mcp npm install npm run build claude mcp add telegraph -- node $(pwd)/dist/index.js ``` ## Usage with Claude Code ```bash claude mcp add telegraph -- npx telegraph-mcp ``` ## Usage with Claude Desktop Add this to your Claude Desktop configuration file: **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json` **Linux**: `~/.config/Claude/claude_desktop_config.json` **Windows**: `%APPDATA%\Claude\claude_desktop_config.json` ```json { "mcpServers": { "telegraph": { "command": "npx", "args": ["-y", "telegraph-mcp"] } } } ``` ## Available Tools ### Account Management | Tool | Description | Auth Required | |------|-------------|---------------| | `telegraph_create_account` | Create a new Telegraph account | No | | `telegraph_edit_account_info` | Update account information | Yes | | `telegraph_get_account_info` | Get account details | Yes | | `telegraph_revoke_access_token` | Revoke and regenerate access token | Yes | ### Page Management | Tool | Description | Auth Required | |------|-------------|---------------| | `telegraph_create_page` | Create a new Telegraph page (supports Markdown!) | Yes | | `telegraph_edit_page` | Edit an existing page | Yes | | `telegraph_get_page` | Get a page by path | No | | `telegraph_get_page_list` | List all pages for an account | Yes | | `telegraph_get_views` | Get view statistics for a page | No | ### Templates | Tool | Description | Auth Required | |------|-------------|---------------| | `telegraph_list_templates` | List all available page templates | No | | `telegraph_create_from_template` | Create a page using a template | Yes | ### Export & Backup | Tool | Description | Auth Required | |------|-------------|---------------| | `telegraph_export_page` | Export a page to Markdown or HTML | No | | `telegraph_backup_account` | Backup all pages from an account | Yes | ## Example Usage ### Creating an Account ``` Use telegraph_create_account with: - short_name: "MyBot" - author_name: "AI Assistant" ``` This returns an `access_token` that you should save for future operations. ### Creating a Page ``` Use telegraph_create_page with: - access_token: "your_token_here" - title: "My First Telegraph Page" - content: "<p>Hello <b>world</b>!</p><p>This is my first Telegraph page.</p>" ``` ### Creating a Page with Markdown ``` Use telegraph_create_page with: - access_token: "your_token_here" - title: "My Markdown Page" - content: "# Hello World\n\nThis is **bold** and *italic*.\n\n- List item 1\n- List item 2" - format: "markdown" ``` ### Using Templates ``` Use telegraph_create_from_template with: - access_token: "your_token_here" - template: "blog_post" - title: "My Blog Post" - data: { "intro": "Welcome to my blog!", "sections": [ {"heading": "First Section", "content": "Section content here"} ], "conclusion": "Thanks for reading!" } ``` Available templates: `blog_post`, `documentation`, `article`, `changelog`, `tutorial` ### Content Format The `content` parameter accepts: - **Markdown** (with `format: "markdown"`): `"# Hello\n\n**Bold** and *italic*"` - **HTML strings**: `"<p>Hello <b>world</b></p>"` - **JSON Node arrays**: `[{"tag": "p", "children": ["Hello ", {"tag": "b", "children": ["world"]}]}]` #### Supported Markdown Syntax | Syntax | Result | |--------|--------| | `# Header` | H3 heading | | `## Subheader` | H4 heading | | `**bold**` | Bold text | | `*italic*` | Italic text | | `[text](url)` | Link | | `![alt](url)` | Image | | `- item` | Unordered list | | `1. item` | Ordered list | | `> quote` | Blockquote | | `` `code` `` | Inline code | | ` ```code``` ` | Code block | | `---` | Horizontal rule | #### Supported HTML Tags `a`, `aside`, `b`, `blockquote`, `br`, `code`, `em`, `figcaption`, `figure`, `h3`, `h4`, `hr`, `i`, `iframe`, `img`, `li`, `ol`, `p`, `pre`, `s`, `strong`, `u`, `ul`, `video` #### Supported Attributes - `href` - for `<a>` tags - `src` - for `<img>`, `<video>`, `<iframe>` tags ## MCP Resources Access Telegraph pages as MCP resources: ``` telegraph://page/{path} ``` Example: `telegraph://page/Sample-Page-12-15` ## MCP Prompts Available prompts for guided workflows: | Prompt | Description | |--------|-------------| | `create-blog-post` | Guide for creating a blog post | | `create-documentation` | Guide for creating documentation | | `summarize-page` | Summarize an existing page | ## Development ```bash # Install dependencies npm install # Build TypeScript npm run build # Run directly (for testing) npm start ``` ## Testing with MCP Inspector ```bash npx @modelcontextprotocol/inspector node dist/index.js ``` ## API Reference This server implements all methods from the [Telegraph API](https://telegra.ph/api): 1. **createAccount** - Create a new Telegraph account 2. **editAccountInfo** - Update account information 3. **getAccountInfo** - Get account details 4. **revokeAccessToken** - Revoke access token 5. **createPage** - Create a new page 6. **editPage** - Edit an existing page 7. **getPage** - Get a page 8. **getPageList** - Get list of pages 9. **getViews** - Get page view statistics ## License MIT

Latest Blog Posts

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/NehoraiHadad/telegraph-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server