About
Instagram Server Next — Model Context Protocol server
README
A Model Context Protocol (MCP) server for fetching Instagram posts using Chrome's existing login session.
Features
- Modular architecture with clear separation of concerns
- Type-safe implementation using TypeScript
- Improved error handling and logging
- Configurable through environment variables
- JSON-RPC 2.0 compliant communication
- Automatic media downloading and metadata generation
- SEO-friendly description generation
Architecture
The server follows a modular architecture with the following structure:
src/
├── core/ # Core MCP functionality
│ ├── mcp/ # MCP server implementation
│ │ ├── server.ts # Server class
│ │ ├── stdio.ts # StdioServerTransport
│ │ └── index.ts # Barrel exports
│ ├── types/ # Core type definitions
│ │ └── mcp.ts # MCP types
│ └── utils/ # Utility functions
│ ├── config.ts # Configuration management
│ └── errors.ts # Error handling
├── features/ # Feature modules
│ └── instagram/ # Instagram feature
│ ├── types.ts # Instagram types
│ ├── utils/ # Feature utilities
│ │ ├── media.ts # Media handling
│ │ ├── post.ts # Post processing
│ │ └── seo.ts # SEO generation
│ └── instagram.service.ts # Instagram service
├── services/ # Shared services
│ └── browser/ # Browser service
│ ├── types.ts # Browser types
│ └── browser.service.ts # Browser service
├── index.ts # Entry point
└── server.ts # Main server class
Configuration
The server requires the following environment variables:
CHROME_USER_DATA_DIR: Path to Chrome user data directory containing login session
Additional configuration options are available through the config manager:
- Browser settings (viewport, timeouts)
- Instagram settings (delays, batch sizes)
- Save directory and file paths
Usage
Install dependencies:
npm installBuild the server:
npm run buildRun the server:
CHROME_USER_DATA_DIR=/path/to/chrome/profile npm start
Available Tools
get_instagram_posts
Fetches recent posts from an Instagram profile.
Parameters:
username(required): Instagram username to fetch posts fromlimit(optional): Number of posts to fetch (1-50) or "all"saveDir(optional): Directory to save media files and metadatadelayBetweenPosts(optional): Milliseconds to wait between processing posts
Example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "call_tool",
"params": {
"name": "get_instagram_posts",
"arguments": {
"username": "example",
"limit": 10
}
}
}
Error Handling
The server uses standardized error codes and messages:
INVALID_REQUEST: Invalid request format or parametersINVALID_PARAMS: Missing or invalid parametersMETHOD_NOT_FOUND: Unknown method or toolINTERNAL_ERROR: Server-side errors
Development
Start in development mode:
npm run devRun linter:
npm run lint
Improvements Over Original
Modular Architecture
- Clear separation of concerns
- Better code organization
- Easier to maintain and extend
Type Safety
- Comprehensive TypeScript types
- Better error catching
- Improved IDE support
Error Handling
- Standardized error codes
- Better error messages
- Proper error propagation
Configuration
- Centralized configuration
- Environment variable validation
- Type-safe config access
Code Quality
- Consistent coding style
- Better documentation
- Improved logging
Testing Support
- Modular design enables testing
- Dependency injection ready
- Clear interfaces
License
MIT
Installing Instagram Server Next
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/duhlink/instagram-server-next-mcpFAQ
Is Instagram Server Next MCP free?
Yes, Instagram Server Next MCP is free — one-click install via Unyly at no cost.
Does Instagram Server Next need an API key?
No, Instagram Server Next runs without API keys or environment variables.
Is Instagram Server Next hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Instagram Server Next in Claude Desktop, Claude Code or Cursor?
Open Instagram Server Next on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Instagram Server Next with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
