Home Blog OE Platform OE Runtime OE MCP
Open Source · Apache-2.0

OE MCP

Connect Claude Code, Cursor, Windsurf & Claude Desktop to your enterprise data — databases, files, APIs, SSH & more. Define connectors in YAML. No code. No install.

npx @openenterprise/oe-mcp stdio + HTTP Modes 2,600+ Connectors Persistent Memory Claude Code · Cursor · Windsurf

v1.4.8  ·  Release notes  ·  npm

📝

Write a YAML config

Define your connectors in oe-mcp.yaml — database credentials, file paths, API tokens. One file, any number of connectors.

🔌

Connect your AI app

Point Claude Code, Cursor, or Windsurf at the binary. Every connector is exposed as tools your AI can call directly from the IDE.

💬

Ask in plain language

Query your database, read files, post to Slack, search GitHub — all from inside your IDE, with no custom integration code.

Setup

Three ways to connect

Use npx for the fastest setup, a standalone binary if you prefer no Node.js dependency, or HTTP serve mode for Cursor, Windsurf, and shared cloud deployments.

📦

via npm

Recommended

No binary download. npx installs and runs everything automatically. Add to ~/.mcp.json. Reload VS Code — tools appear automatically.

Works with Claude Code & Claude Desktop.

macOS / Linux

{
  "mcpServers": {
    "oe-mcp": {
      "command": "npx",
      "args": [
        "@openenterprise/oe-mcp",
        "--stdio",
        "/path/to/oe-mcp.yaml"
      ]
    }
  }
}

Windows

{
  "mcpServers": {
    "oe-mcp": {
      "command": "npx.cmd",
      "args": [
        "@openenterprise/oe-mcp",
        "--stdio",
        "C:\\path\\to\\oe-mcp.yaml"
      ]
    }
  }
}
🤖

Standalone Binary

stdio mode

Download the binary for your OS. Claude Code launches it automatically. No Node.js required.

Works with Claude Code & Claude Desktop.

{
  "mcpServers": {
    "oe-mcp": {
      "type": "stdio",
      "command": "/path/to/oe-mcp-win.exe",
      "args": [
        "--stdio",
        "/path/to/oe-mcp.yaml"
      ]
    }
  }
}
🖥️

HTTP Serve Mode

HTTP mode

Start once, share across your team. Deploy to EC2, fly.io, or Railway — every developer connects via one URL, no binary on each machine.

Works with Cursor, Windsurf & Claude Desktop.

# Start the MCP server
oe-mcp-win.exe --serve --port 4040 oe-mcp.yaml
# Listening on http://localhost:4040/mcp

# Cursor: Settings → MCP → Add server
http://localhost:4040/mcp

# Claude Desktop — claude_desktop_config.json
{ "mcpServers": {
  "oe-mcp": { "url": "http://localhost:4040/mcp" }
} }
Configuration

oe-mcp.yaml reference

One YAML file defines all your connectors and seeds default memory values. Credentials stay on your machine — nothing is sent anywhere.

connectors:

  # ── SQL Databases ─────────────────────────────
  - name: my-postgres
    type: postgresql
    host: db.company.com
    port: 5432
    database: production
    user: readonly
    password: secret

  - name: my-mysql
    type: mysql
    host: localhost
    port: 3306
    database: mydb
    user: root
    password: secret

  # ── NoSQL ─────────────────────────────────────
  - name: my-mongo
    type: mongodb
    uri: mongodb://localhost:27017
    database: mydb

  - name: my-redis
    type: redis
    host: localhost
    port: 6379

  - name: my-elastic
    type: elasticsearch
    node: https://localhost:9200
    apiKey: xxxxxxxxxxxx

  # ── Object Storage ────────────────────────────
  - name: my-s3
    type: s3
    accessKeyId: AKIAXXXXXXXX
    secretAccessKey: xxxxxxxxxxxx
    region: us-east-1
    bucket: my-bucket

  # ── Cloud Drives ──────────────────────────────
  - name: my-gdrive
    type: gdrive
    clientId: xxxx.apps.googleusercontent.com
    clientSecret: xxxx
    refreshToken: xxxx

  # ── Code & Issue Tracking ─────────────────────
  - name: my-github
    type: github
    token: ghp_xxxxxxxxxxxx

  - name: my-jira
    type: jira
    host: https://company.atlassian.net
    email: you@company.com
    apiToken: xxxx

  # ── Team Messaging ────────────────────────────
  - name: my-slack
    type: slack
    botToken: xoxb-xxxxxxxxxxxx

  # ── Email ─────────────────────────────────────
  - name: my-gmail
    type: gmail
    clientId: xxxx.apps.googleusercontent.com
    clientSecret: xxxx
    refreshToken: xxxx

  - name: my-smtp
    type: smtp
    host: smtp.company.com
    port: 587
    user: you@company.com
    password: secret

  # ── SSH / Remote Server ───────────────────────
  - name: my-server
    type: ssh
    host: server.company.com
    port: 22
    username: ubuntu
    privateKey: /path/to/key.pem

  # ── Filesystem ────────────────────────────────
  - name: my-codebase
    type: filesystem
    basePath: /home/user/projects

  # ── REST API ──────────────────────────────────
  - name: my-api
    type: rest-api
    baseUrl: https://api.company.com
    headers:
      Authorization: Bearer xxxx

  # ── CRM ───────────────────────────────────────
  - name: my-hubspot
    type: hubspot
    accessToken: pat-xxxxxxxxxxxx

  # ── Message Queues ────────────────────────────
  - name: my-kafka
    type: kafka
    brokers:
      - localhost:9092

memory:
  - key: team
    value: "Platform Engineering"
  - key: environment
    value: "production"

Download oe-mcp-samples.zip for ready-to-use configs: postgres · mysql · mongodb · github · slack · gdrive · ssh · filesystem · oracle · multi-connector

Built-in

Persistent memory across sessions

Every OE MCP session includes four memory tools. Context persists in oe-mcp-memory.json next to your config — survives restarts and new sessions.

Tool What it does
memory_set Store any key-value pair that persists across restarts and new sessions
memory_get Retrieve a stored value by key
memory_list List all stored key-value pairs
memory_delete Remove a stored key permanently
# In Claude Code — just ask in plain language:
"Remember that our main DB is on prod-db.company.com"
# → Claude calls memory_set(key="main_db_host", value="prod-db.company.com")

"What database host did we save last session?"
# → Claude calls memory_get(key="main_db_host") → "prod-db.company.com"
Connectors

2,600+ enterprise systems

Every connector below is available as MCP tools in your AI app. Declare it in oe-mcp.yaml — the binary handles authentication, protocol, and tool exposure.

🗄️
SQL Databases
Query, insert, update, delete
PostgreSQL MySQL MSSQL Oracle SQLite Snowflake BigQuery Redshift + 15 more
📦
NoSQL & Cache
Documents, key-value, search
MongoDB Redis Elasticsearch DynamoDB Cassandra
📂
Filesystem
List, read, write, search local files
list_dir read_file write_file append_file search_files make_dir
☁️
Object Storage
Upload, download, list, delete
AWS S3 Google Cloud Storage Azure Blob MinIO Cloudflare R2
📁
Cloud Drives
Read, write, manage files
Google Drive OneDrive SharePoint Dropbox Box
🐙
Code & Issue Tracking
Repos, issues, PRs, search
GitHub GitLab Jira Linear Confluence
💬
Team Messaging
Post messages, read channels
Slack Microsoft Teams Discord Telegram
✉️
Email
Send and read email
Gmail Outlook Zoho Mail SMTP IMAP
🖥️
SSH / SFTP
Remote command execution & file transfer
execute_command upload_file download_file list_files Any Linux / Unix server
🔌
REST API & HTTP
GET, POST, PUT, DELETE any endpoint
Any HTTP endpoint Custom headers Bearer / API key auth 2,600+ services via fallback
📋
CRM & Productivity
Contacts, tasks, pages, records
HubSpot Salesforce Notion Airtable Freshdesk Zendesk
📨
Message Queues
Publish and consume events
Kafka RabbitMQ AWS SQS Google Pub/Sub Azure Service Bus

Connect your AI app to enterprise data

Download the binary, write a YAML config, and your AI assistant can query databases, browse files, and call APIs — in minutes.

View release notes on GitHub