mcp-servers
This MCP server provides a modern web interface and a set of tools for interacting with the Facebook Marketing API, enabling campaign management, ad set operations, and insights retrieval. It supports multiple connection modes including STDIO, SSE, and HTTP.
README
Postman MCP Generator
Welcome to your enhanced MCP server! 🚀 This project was created with the Postman MCP Generator and enhanced with a modern web interface. It provides you with:
- ✅ An MCP-compatible server (
mcpServer.js) - ✅ Automatically generated JavaScript tools for each selected Postman API request
- ✅ NEW: Modern web-based frontend interface with real-time capabilities
- ✅ NEW: Server-Sent Events (SSE) and HTTP streaming support
- ✅ Multiple connection modes: STDIO, SSE, and HTTP
- ✅ NEW: Interactive tool execution with live results
- ✅ NEW: Session management and activity logging
Let's set things up!
🚦 Getting Started
⚙️ Prerequisites
Before starting, please ensure you have:
- Node.js (v18+ required, v20+ recommended)
- npm (included with Node)
Warning: if you run with a lower version of Node, fetch won't be present. Tools use fetch to make HTTP calls. To work around this, you can modify the tools to use node-fetch instead. Make sure that node-fetch is installed as a dependency and then import it as fetch into each tool file.
📥 Installation & Setup
1. Install dependencies
Run from your project's root directory:
npm install
🔐 Set tool environment variables
In the .env file, you'll see environment variable placeholders, one for each workspace that the selected tools are from. For example, if you selected requests from 2 workspaces, e.g. Acme and Widgets, you'll see two placeholders:
ACME_API_KEY=
WIDGETS_API_KEY=
Update the values with actual API keys for each API. These environment variables are used inside of the generated tools to set the API key for each request. You can inspect a file in the tools directory to see how it works.
// environment variables are used inside of each tool file
const apiKey = process.env.ACME_API_KEY;
Caveat: This may not be correct for every API. The generation logic is relatively simple - for each workspace, we create an environment variable with the same name as the workspace slug, and then use that environment variable in each tool file that belongs to that workspace. If this isn't the right behavior for your chosen API, no problem! You can manually update anything in the .env file or tool files to accurately reflect the API's method of authentication.
🌐 Web Interface
The server includes a comprehensive web-based interface that provides:
- Interactive Tool Execution: Select and execute Facebook Marketing API tools with a professional interface
- Real-time Connection Status: Monitor your connection to the MCP server
- Multiple Connection Types: Choose between SSE (Server-Sent Events) and HTTP streaming
- Live Results Display: View tool execution results in real-time
- Activity Logging: Track all server activities and tool executions
- Export Functionality: Export results for further analysis
- Session Management: Handle multiple concurrent connections
- Professional UI: Clean, responsive design with Facebook branding
Starting the Web Interface
# Start the web server (recommended)
npm start
# Or for development with auto-reload
npm run dev
Then open your browser to http://localhost:3001 to access the modern web interface.
Web Interface Features
- Tool Browser: Browse all available Facebook Marketing API tools
- Parameter Forms: Dynamic forms for tool parameters with validation
- Real-time Execution: Execute tools and see results instantly
- Connection Management: Switch between SSE and HTTP modes
- Export Results: Download execution results as JSON
- Activity Logs: Monitor all server activities and errors
Available Server Modes
# Web interface with SSE and HTTP support (default)
npm start
# SSE-only server mode
npm run server:sse
# Traditional STDIO mode (for Claude Desktop)
npm run server:stdio
🔧 API Endpoints
The enhanced server exposes several REST endpoints:
GET /- Web interfaceGET /api/tools- List all available toolsPOST /api/call-tool- Execute a tool via HTTPGET /sse- Server-Sent Events endpoint for real-time communicationPOST /messages- SSE message handlerGET /health- Health check endpoint
🎯 Facebook Marketing API Tools
This server includes 58 pre-configured tools for the Facebook Marketing API, organized into categories:
Available Tool Categories:
- Campaign Management: Create, update, and retrieve campaign details
- Ad Set Operations: Manage ad sets with targeting and budgets
- Creative Management: Handle ad creatives and assets
- Insights & Analytics: Get performance data and reports
- Account Management: Manage ad accounts and permissions
- Targeting: Access targeting categories and audience data
Example Tools:
get_campaign_insights- Retrieve campaign performance datacreate_campaign- Create new advertising campaignsget_ad_account_details- Get detailed account informationupdate_ad_set- Modify ad set configurationsget_targeting_categories- Access available targeting options
🌐 Test the MCP Server with Postman
The MCP Server (mcpServer.js) exposes your automated API tools to MCP-compatible clients, such as Claude Desktop or the Postman Desktop Application. We recommend that you test the server with Postman first and then move on to using it with an LLM.
The Postman Desktop Application is the easiest way to run and test MCP servers. Testing the downloaded server first is optional but recommended.
Step 1: Download the latest Postman Desktop Application from https://www.postman.com/downloads/.
Step 2: Read out the documentation article here and see how to create an MCP request inside the Postman app.
Step 3: Set the type of the MCP request to STDIO and set the command to node </absolute/path/to/mcpServer.js>. If you have issues with using only node (e.g. an old version is used), supply an absolute path instead to a node version 18+. You can get the full path to node by running:
which node
To check the node version, run:
node --version
To get the absolute path to mcpServer.js, run:
realpath mcpServer.js
Use the node command followed by the full path to mcpServer.js as the command for your new Postman MCP Request. Then click the Connect button. You should see a list of tools that you selected before generating the server. You can test that each tool works here before connecting the MCP server to an LLM.
👩💻 Connect the MCP Server to Claude
You can connect your MCP server to any MCP client. Here we provide instructions for connecting it to Claude Desktop.
Step 1: Note the full path to node and the mcpServer.js from the previous step.
Step 2. Open Claude Desktop → Settings → Developers → Edit Config and add a new MCP server:
{
"mcpServers": {
"<server_name>": {
"command": "<absolute/path/to/node>",
"args": ["<absolute/path/to/mcpServer.js>"]
}
}
}
Restart Claude Desktop to activate this change. Make sure the new MCP is turned on and has a green circle next to it. If so, you're ready to begin a chat session that can use the tools you've connected.
Warning: If you don't supply an absolute path to a node version that is v18+, Claude (and other MCP clients) may fall back to another node version on the system of a previous version. In this case, the fetch API won't be present and tool calls will not work. If that happens, you can a) install a newer version of node and point to it in the command, or b) import node-fetch into each tool as fetch, making sure to also add the node-fetch dependency to your package.json.
Additional Options
🐳 Docker Deployment (Production)
For production deployments, you can use Docker:
1. Build Docker image
docker build -t <your_server_name> .
2. Claude Desktop Integration
Add Docker server configuration to Claude Desktop (Settings → Developers → Edit Config):
{
"mcpServers": {
"<your_server_name>": {
"command": "docker",
"args": ["run", "-i", "--rm", "--env-file=.env", "<your_server_name>"]
}
}
}
Add your environment variables (API keys, etc.) inside the
.envfile.
The project comes bundled with the following minimal Docker setup:
FROM node:22.12-alpine AS builder
WORKDIR /app
COPY package.json package-lock.json ./
RUN npm install
COPY . .
ENTRYPOINT ["node", "mcpServer.js"]
🌐 Server-Sent Events (SSE)
To run the server with Server-Sent Events (SSE) support, use the --sse flag:
node mcpServer.js --sse
Or use the web interface which includes both SSE and HTTP streaming support:
npm start
🛠️ Additional CLI commands
List tools
List descriptions and parameters from all generated tools with:
node index.js tools
Example:
Available Tools:
Workspace: acme-workspace
Collection: useful-api
list_all_customers
Description: Retrieve a list of useful things.
Parameters:
- magic: The required magic power
- limit: Number of results returned
[...additional parameters...]
🔧 API Endpoints
When running in web mode, the server exposes several endpoints:
GET /- Web interfaceGET /api/tools- List available toolsPOST /api/call-tool- Execute a tool via HTTPGET /sse- Server-Sent Events endpointPOST /messages- SSE message handlerGET /health- Health check endpoint
🎯 Features
Web Interface Features
- Modern UI: Clean, responsive design with Facebook branding
- Real-time Updates: Live connection status and activity logging
- Tool Management: Browse and execute tools with parameter validation
- Result Export: Export execution results as JSON
- Multiple Protocols: Support for both SSE and HTTP streaming
- Error Handling: Comprehensive error reporting and user feedback
Server Features
- Multi-mode Operation: STDIO, SSE, and HTTP support
- Session Management: Handle multiple concurrent connections
- Tool Discovery: Automatic detection of available tools
- Health Monitoring: Built-in health check endpoints
- CORS Support: Cross-origin resource sharing for web clients
➕ Adding New Tools
Extend your MCP server with more tools easily:
- Visit Postman MCP Generator.
- Pick new API request(s), generate a new MCP server, and download it.
- Copy new generated tool(s) into your existing project's
tools/folder. - Update your
tools/paths.jsfile to include new tool references.
💬 Questions & Support
Visit the Postman MCP Generator page for updates and new capabilities.
Join the #mcp-lab channel in the Postman Discord to share what you've built and get help.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.