A Model Context Protocol (MCP) server for fetching Instagram posts using Chrome’s existing login session.
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
The server requires the following environment variables:
CHROME_USER_DATA_DIR: Path to Chrome user data directory containing login sessionAdditional configuration options are available through the config manager:
Install dependencies:
npm install
Build the server:
npm run build
Run the server:
CHROME_USER_DATA_DIR=/path/to/chrome/profile npm start
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 postsExample:
{
"jsonrpc": "2.0",
"id": 1,
"method": "call_tool",
"params": {
"name": "get_instagram_posts",
"arguments": {
"username": "example",
"limit": 10
}
}
}
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 errorsStart in development mode:
npm run dev
Run linter:
npm run lint
Modular Architecture
Type Safety
Error Handling
Configuration
Code Quality
Testing Support
MIT
Ragie Model Context Protocol Server
An MCP server implementation that integrates the Tavily Search API, providing optimized search capabilities for LLMs.
Server implementing Model Context Protocol for Waldur
Model context Protocol (MCP) server for Adspirer