Skip to main content
Glama
vp2437
by vp2437
README.md
# OpenAPI REST MCP Server

This MCP server allows Claude Desktop to interact with REST APIs described by an OpenAPI/Swagger specification.

Supported integrations include:

- Jira
- Zoho CRM
- Salesforce
- Microsoft SharePoint
- Procore
- HxGN EAM
- Oracle Primavera P6

Authentication methods vary by integration.

Jira, Zoho CRM, Salesforce, SharePoint, and Procore were configured and
tested during development.

HxGN EAM and Primavera P6 use Basic Authentication and require credentials
from the system administrator before they can be tested.

---

# Requirements

- Node.js 18+
- Claude Desktop
- API credentials for the target system

---

# Setup

Move to directory.

```bash
cd openapi-rest-mcp
```

Install dependencies.

```bash
npm install
```

---

# Configuration

Copy

```
config.example.json
```

to

```
config.json
```

Edit the values as required.

Example:

```json
{
  "activeEnvironment": "jira"
}
```

Supported environments

- jira
- zoho
- salesforce
- sharepoint
- procore
- eam
- primavera

---

# Claude Desktop Configuration

Add the MCP server to your Claude Desktop configuration.

Example:

```json
{
  "mcpServers": {
    "openapi-rest": {
      "command": "node",
      "args": [
        "/path/to/src/index.js",
        "--config",
        "/path/to/config.json"
      ],

      "env": {

        "API_USER":"",

        "API_TOKEN":"",

        "ZOHO_CLIENT_ID":"",

        "ZOHO_CLIENT_SECRET":"",

        "ZOHO_REFRESH_TOKEN":"",

        "SALESFORCE_CLIENT_ID":"",

        "SALESFORCE_CLIENT_SECRET":"",

        "SALESFORCE_TOKEN_URL":"https://your-instance.my.salesforce.com/services/oauth2/token",

        "CLIENT_ID":"",

        "CLIENT_SECRET":"",

        "TENANT_ID":"",

        "PROCORE_CLIENT_ID":"",

        "PROCORE_CLIENT_SECRET":"",

        "PROCORE_REFRESH_TOKEN":"",

        "PROCORE_TOKEN_URL":"https://login-sandbox.procore.com/oauth/token/",

        "CLAUDE_CONFIG_PATH":"/Users/<username>/Library/Application Support/Claude/claude_desktop_config.json",

        "MCP_SERVER_NAME":"openapi-rest",

        "EAM_USER":"",

        "EAM_PASSWORD":"",

        "PRIMAVERA_USER":"",

        "PRIMAVERA_PASSWORD":""
      }
    }
  }
}
```

Replace all placeholder values with your own credentials.

---

# Authentication

## Jira

Basic Authentication

Required

- API_USER
- API_TOKEN

---

## Zoho CRM

OAuth Refresh Token

Required

- ZOHO_CLIENT_ID
- ZOHO_CLIENT_SECRET
- ZOHO_REFRESH_TOKEN

The server automatically refreshes access tokens.

---

## Salesforce

OAuth Client Credentials

Required

- SALESFORCE_CLIENT_ID
- SALESFORCE_CLIENT_SECRET
- SALESFORCE_TOKEN_URL

The server automatically retrieves access tokens.

---

## SharePoint

Microsoft Graph Client Credentials

Required

- CLIENT_ID
- CLIENT_SECRET
- TENANT_ID

The server automatically retrieves access tokens.

---

## Procore

OAuth Refresh Token

Required

- PROCORE_CLIENT_ID
- PROCORE_CLIENT_SECRET
- PROCORE_REFRESH_TOKEN

The server automatically refreshes access tokens.

The latest refresh token is automatically written back to the Claude Desktop configuration file.

---

## HxGN EAM

Basic Authentication

Required

- EAM_USER
- EAM_PASSWORD

Credentials must be provided by the HxGN EAM administrator.

---

## Primavera

Basic Authentication

Required

- PRIMAVERA_USER
- PRIMAVERA_PASSWORD

Credentials must be provided by the Primavera administrator.

---

# Running

Start Claude Desktop.

The MCP server will start automatically.

No additional commands are required.

---

# Notes

- OAuth access tokens are refreshed automatically where supported.
- Procore refresh tokens are automatically persisted.
- The active environment is selected in `config.json`.

---

## Attribution

This project is based on [openapi-rest-mcp](https://github.com/sametbrr/openapi-rest-mcp)
by Samet Birer.

The project has been modified and extended as part of an internship project,
including additional integrations, authentication workflows, token refresh
handling, and configuration support.