About threads-mcp
threads-mcp is a TypeScript MCP server for creating and publishing Threads posts. It combines generated post content with stock photos retrieved from Unsplash.
Key features
- 01Create Threads posts
- 02Retrieve stock photos from Unsplash
- 03Combine post text with visuals
Use cases
- 01Prepare a Threads post about a topic
- 02Add stock images to social posts
MCP support
The MCP server exposes the `post_thread` tool, which posts to Threads and retrieves stock photos from Unsplash. It can be connected to Claude Desktop.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEthreads-mcp
This project is a TypeScript-based Node MCP (Model Context Protocol) Server that would create post to Threads (a social media platform by Meta).
The goal of this project is to have the LLM generate a complete social media post—something ready to publish on Threads alongside the images. So the MCP server handled both retrieving relevant visual content and orchestrating the model’s output into something directly usable. It turned a simple query like ‘cats’ into a polished post with supporting visuals, all through a coordinated flow.

Project Structure
threads-mcp
├── src
│ ├── index.ts # Entry point
│ ├── stock-photos.ts # Unsplash http client
│ ├── threads-api.ts # Threads Api HTTP Client
│ ├── threads-server.ts # Threads MCP Server
│ └── types.ts # Type definitions
├── package.json # NPM package configuration
├── tsconfig.json # TypeScript configuration
└── README.md # Project documentation
Quick Start
Prerequisites
- Obtain the API Key from Unsplash
- Create an app on Meta Developer platform https://developers.facebook.com/apps
- Choose Access The Threads API as use case
- On main dashboard, click Access The Threads API > Settings > Enter Redirect Callback URLS
- Obtain these keys : Threads App ID , Threads App secret , Redirect Callback URL and save them in the env section of threads-dev in the config file :
**Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
- Clone the repository:
git clone https://github.com/tttn13/threads-mcp
cd threads-mcp
- Install dependencies:
npm install
- Build:
npm run build
- Run:
npm start
-
Create a Meta Developer account and get your keys
-
Add this configuration to your Claude Desktop config file:
Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"threads-dev": {
"command": "node",
"args": [
"/Users/path/to/project/build/index.js"
],
"env": {
"HOST": "https://graph.threads.net",
"APP_ID": "threads_app_id",
"APP_SECRET": "threads_app_secret",
"REDIRECT_URI": "public_url",
"INITIAL_USER_ID": "threads_user_id",
"UNSPLASH_ACCESS_KEY":"access_key",
"PORT": "3000",
}
},
}
- Restart Claude Desktop
That's it, the tool is officially connected to Claude Desktop! You still need to go through an authorization process to obtain the long lived token but dw, Claude will walk you through it.
post_thread: Post a new thread and fetch stock photos from Unsplash
Example Usage
Try asking Claude:
- "Can you post a thread about cats with photos"
Development
If you want to contribute or run from source:
- Clone the repository:
git clone https://github.com/tttn13/threads-mcp
cd threads-mcp
- Install dependencies:
npm install
- Build:
npm run build
- Run:
npm start
License
This project is licensed under the MIT License. See the LICENSE file for more details.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.