home / mcp / mcp internal server

MCP Internal Server

Provides an internal MCP integration with a thin client and cloud backend for accessing FX-CRM, Odoo, Shopify, and GitHub resources.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "jameslai-sparkofy-mcp-internal": {
      "url": "https://mcp-internal-backend-xxx.a.run.app",
      "headers": {
        "ODOO_DB": "<ODOO_DB>",
        "ODOO_URL": "<ODOO_URL>",
        "FXCRM_APP_ID": "<FXCRM_APP_ID>",
        "GITHUB_OWNER": "<GITHUB_OWNER>",
        "GITHUB_TOKEN": "<GITHUB_TOKEN>",
        "ODOO_API_KEY": "<ODOO_API_KEY>",
        "ODOO_USER_ID": "<ODOO_USER_ID>",
        "FXCRM_CORP_ID": "<FXCRM_CORP_ID>",
        "SHOPIFY_STORE": "<SHOPIFY_STORE>",
        "FXCRM_APP_SECRET": "<FXCRM_APP_SECRET>",
        "FXCRM_PERMANENT_CODE": "<FXCRM_PERMANENT_CODE>",
        "SHOPIFY_ACCESS_TOKEN": "<SHOPIFY_ACCESS_TOKEN>"
      }
    }
  }
}

The MCP Internal provides a two-layer integration platform that securely routes your work requests from local clients to cloud-backed services. It authenticates users via FX-CRM identifiers and enforces permissions before calling backend services like Odoo, Shopify, or GitHub, enabling you to access and manage data across systems from a single, controlled point.

How to use

Set up your local MCP client and point it at the Cloud Run backend. You will authenticate with your FX-CRM FSUID and then perform operations that are allowed by your FX-CRM permissions.

How to install

Prerequisites: ensure you have Node and pnpm installed on your workstation.

Install dependencies for the project.

pnpm install

Build the project.

pnpm build

Run the cloud backend in development mode and then start the thin client in another terminal.

# in one terminal
cd packages/cloud-backend
pnpm dev

# in another terminal
cd packages/thin-client
pnpm dev

MCP server connection configurations

{
  "mcpServers": [
    {
      "type": "http",
      "name": "mcp_internal",
      "url": "https://mcp-internal-backend-xxx.a.run.app",
      "args": []
    },
    {
      "type": "stdio",
      "name": "mcp_internal",
      "command": "npx",
      "args": ["-y", "github:jameslai-sparkofy/mcp-internal#master"],
      "env": {
        "FSUID": "FSUID_xxxxx",
        "CLOUD_RUN_URL": "https://mcp-internal-backend-xxx.a.run.app"
      }
    }
  ]
}

Configuration details and security notes

Access control is enforced by first validating your FSUID with FX-CRM, then retrieving your personnel object and permissions. Each request must include your FSUID, which Cloud Run uses to verify identity and permissions before calling backend services.

Environment and tools overview

The system relies on several environment variables exposed through the Cloud Run backend secret manager and local client configuration. These variables enable integration with FX-CRM, Odoo, Shopify, and GitHub.

For the local thin client, you expose FSUID and the Cloud Run URL to enable authenticated requests.

Available tools

odoo_search

Search Odoo records

odoo_read

Read Odoo records

odoo_count

Count Odoo records

odoo_create

Create Odoo records (admin/assistant)

odoo_update

Update Odoo records (admin/assistant)

odoo_delete

Delete Odoo records (admin/assistant)

shopify_search_products

Search Shopify products

shopify_get_product

Retrieve a Shopify product

shopify_update_product

Update a Shopify product (admin/assistant)

shopify_update_price

Update Shopify product price (admin/assistant)

shopify_get_locations

Get Shopify locations

knowledge_search

Search knowledge base

knowledge_get_file

Read knowledge base file

knowledge_list_directory

List knowledge base directory

knowledge_get_price

Query knowledge base price

knowledge_search_spec

Search knowledge base specifications

MCP Internal Server - jameslai-sparkofy/mcp-internal