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
MCP server connecting Claude to Vercel
🧠 High-performance persistent memory system for Model Context Protocol (MCP) powered by libSQL. Features vector search, semantic knowledge storage, and efficient relationship management - perfect for AI agents and knowledge graph applications.