Documentation

    Concepts, value, and typical clone scenarios — less code.

    Welcome to Ring
    Quick Reference
    Getting Started
    Prerequisites
    Installation
    First Success Validation
    Next Steps
    Features
    Multi-Vendor Store
    SubscriptionConductor
    PaymentConductor
    Payments Overview
    WayForPay Payment Integration
    Wallet & Credit System
    WalletConductor
    Affiliate & Referral Enablement
    Referral Codes (Refcodes)
    NFT Exhibition Marketplace
    Solana NFT Gates
    Token Staking System
    Owner Project Lab
    Entities
    Opportunities
    Real-Time Messaging
    Ring Tasks
    WebRTC Calls & STUNner TURN
    News Module
    Member Blogs
    Public Profile Pages
    Username Reservation System
    Scientific Editor
    Notifications
    Push Notifications with FCM (Ring-Powered)
    Email AI-CRM
    Ring Mailer & RingdomX Mail
    Tunnel Protocol
    VideoConductor
    MediaConductor
    Generative Gallery
    Authentication
    Security & Compliance
    Admin console
    Admin Wiki
    Manage via Telegram
    Locale System
    Mobile Experience
    Performance Optimization Patterns
    Examples
    Quick Start
    Basic Setup
    White Label
    Custom Branding
    Web3 Integration
    Real World
    Advanced Features
    Customization
    Quick Start — Your First Ring Clone
    Customization Guide
    Branding
    Themes
    Features
    Localization
    Token Economics Setup
    Payment Gateway Integration
    Reference Ring deployments
    Web3
    Token launch jurisdictions
    Wallet
    Wallet Security Tips
    Integrations
    Ethereum wallets (Wagmi v3)
    RingFileBase (object storage API)
    Ring CDN (RingFileBase edge)
    Deployment
    Self-hosted deployment
    Vercel
    Docker
    Environment Configuration
    Monitoring & Analytics
    Performance Optimization
    Backup & Recovery
    Architecture
    Data Model
    Security
    Real Time
    Discovery Mutation Sync
    PaymentConductor architecture
    WalletConductor architecture
    Development
    Ring MCP Server

    Quick entry (CTOs · auditors · agents)

    Welcome — mission & audiences
    Quick Reference
    Getting started
    Architecture & Auth.js
    Backend modes & databases (DB_BACKEND_MODE)
    Self-hosted
    Ring MCP Tools
    Ring MCP Server
    Token economics
    Token launch jurisdictions
    Deploy (Docker · k8s)
    Security & compliance reads
    ringdom.org — LegioX homebase
    Source — MIT license (GitHub)

    Documentation

    Concepts, value, and typical clone scenarios — less code.

    Welcome to Ring
    Quick Reference
    Getting Started
    Prerequisites
    Installation
    First Success Validation
    Next Steps
    Features
    Multi-Vendor Store
    SubscriptionConductor
    PaymentConductor
    Payments Overview
    WayForPay Payment Integration
    Wallet & Credit System
    WalletConductor
    Affiliate & Referral Enablement
    Referral Codes (Refcodes)
    NFT Exhibition Marketplace
    Solana NFT Gates
    Token Staking System
    Owner Project Lab
    Entities
    Opportunities
    Real-Time Messaging
    Ring Tasks
    WebRTC Calls & STUNner TURN
    News Module
    Member Blogs
    Public Profile Pages
    Username Reservation System
    Scientific Editor
    Notifications
    Push Notifications with FCM (Ring-Powered)
    Email AI-CRM
    Ring Mailer & RingdomX Mail
    Tunnel Protocol
    VideoConductor
    MediaConductor
    Generative Gallery
    Authentication
    Security & Compliance
    Admin console
    Admin Wiki
    Manage via Telegram
    Locale System
    Mobile Experience
    Performance Optimization Patterns
    Examples
    Quick Start
    Basic Setup
    White Label
    Custom Branding
    Web3 Integration
    Real World
    Advanced Features
    Customization
    Quick Start — Your First Ring Clone
    Customization Guide
    Branding
    Themes
    Features
    Localization
    Token Economics Setup
    Payment Gateway Integration
    Reference Ring deployments
    Web3
    Token launch jurisdictions
    Wallet
    Wallet Security Tips
    Integrations
    Ethereum wallets (Wagmi v3)
    RingFileBase (object storage API)
    Ring CDN (RingFileBase edge)
    Deployment
    Self-hosted deployment
    Vercel
    Docker
    Environment Configuration
    Monitoring & Analytics
    Performance Optimization
    Backup & Recovery
    Architecture
    Data Model
    Security
    Real Time
    Discovery Mutation Sync
    PaymentConductor architecture
    WalletConductor architecture
    Development
    Ring MCP Server

    Quick entry (CTOs · auditors · agents)

    Welcome — mission & audiences
    Quick Reference
    Getting started
    Architecture & Auth.js
    Backend modes & databases (DB_BACKEND_MODE)
    Self-hosted
    Ring MCP Tools
    Ring MCP Server
    Token economics
    Token launch jurisdictions
    Deploy (Docker · k8s)
    Security & compliance reads
    ringdom.org — LegioX homebase
    Source — MIT license (GitHub)

    Documentation

    Concepts, value, and typical clone scenarios — less code.

    Welcome to Ring
    Quick Reference
    Getting Started
    Prerequisites
    Installation
    First Success Validation
    Next Steps
    Features
    Multi-Vendor Store
    SubscriptionConductor
    PaymentConductor
    Payments Overview
    WayForPay Payment Integration
    Wallet & Credit System
    WalletConductor
    Affiliate & Referral Enablement
    Referral Codes (Refcodes)
    NFT Exhibition Marketplace
    Solana NFT Gates
    Token Staking System
    Owner Project Lab
    Entities
    Opportunities
    Real-Time Messaging
    Ring Tasks
    WebRTC Calls & STUNner TURN
    News Module
    Member Blogs
    Public Profile Pages
    Username Reservation System
    Scientific Editor
    Notifications
    Push Notifications with FCM (Ring-Powered)
    Email AI-CRM
    Ring Mailer & RingdomX Mail
    Tunnel Protocol
    VideoConductor
    MediaConductor
    Generative Gallery
    Authentication
    Security & Compliance
    Admin console
    Admin Wiki
    Manage via Telegram
    Locale System
    Mobile Experience
    Performance Optimization Patterns
    Examples
    Quick Start
    Basic Setup
    White Label
    Custom Branding
    Web3 Integration
    Real World
    Advanced Features
    Customization
    Quick Start — Your First Ring Clone
    Customization Guide
    Branding
    Themes
    Features
    Localization
    Token Economics Setup
    Payment Gateway Integration
    Reference Ring deployments
    Web3
    Token launch jurisdictions
    Wallet
    Wallet Security Tips
    Integrations
    Ethereum wallets (Wagmi v3)
    RingFileBase (object storage API)
    Ring CDN (RingFileBase edge)
    Deployment
    Self-hosted deployment
    Vercel
    Docker
    Environment Configuration
    Monitoring & Analytics
    Performance Optimization
    Backup & Recovery
    Architecture
    Data Model
    Security
    Real Time
    Discovery Mutation Sync
    PaymentConductor architecture
    WalletConductor architecture
    Development
    Ring MCP Server

    Quick entry (CTOs · auditors · agents)

    Welcome — mission & audiences
    Quick Reference
    Getting started
    Architecture & Auth.js
    Backend modes & databases (DB_BACKEND_MODE)
    Self-hosted
    Ring MCP Tools
    Ring MCP Server
    Token economics
    Token launch jurisdictions
    Deploy (Docker · k8s)
    Security & compliance reads
    ringdom.org — LegioX homebase
    Source — MIT license (GitHub)
    1. Docs
    2. /Development
    3. /Ring MCP Server

    Updated Jul 12, 20265 min listen

    Ring Platform Logo

    Завантаження документації...

    Підготовка контенту платформи Ring

    1. Docs
    2. /Development
    3. /Ring MCP Server

    Updated Jul 12, 20265 min listen

    Ring Platform Logo

    Завантаження документації...

    Підготовка контенту платформи Ring

    1. Docs
    2. /Development
    3. /Ring MCP Server

    Updated Jul 12, 20265 min listen

    Ring Platform Logo

    Завантаження документації...

    Підготовка контенту платформи Ring

    Ring MCP Server (ring-mcp)

    Operate one Ring Platform clone from natural language — in Cursor, Claude Desktop, or any MCP host — without opening the admin UI for every CRUD task.

    ring-mcp is a stdio MCP server under AI-RING/ring-mcp/. It does not open PostgreSQL. It calls your clone’s Bearer service gateway at /api/mcp/v1/*, which runs as a synthetic SUPERADMIN and reuses Ring’s existing services.

    Use Founder / Developer tabs in the docs sidebar. Founders: how MCP and Telegram both remote-control your project. Developers: env, mcp.json, gateway paths, and tool inventory.

    Operator remotes for one Ring clone
    RemoteWho uses itHow it reaches the clone
    ring-mcpFounders + hired developers in an AI IDEstdio MCP → RING_API_BASE_URL + RING_MCP_ACCESS_KEY → /api/mcp/v1/*
    Telegram Admin BotAdmins on the phoneWhitelisted Telegram chat → webhook → Ring services (Manage via Telegram)

    They are sibling remotes, not the same process. Both target one white-label instance (your store, newsroom, users). Kingdom tools (legiox-*, ringdom-*, reggie-*) are a different scope.

    Why this matters for your clone

    You already have a Ring project (GreenFood, PetFriend, Vikka, …). You want to:

    1. Ask Cursor: “list open opportunities”, “approve this vendor”, “draft a news post”
    2. Ask Telegram: “approve draft”, “who signed up today” — without a laptop

    MCP is the IDE remote. Telegram is the phone remote. Point both at the same clone URL and keep tokens/secrets out of git.

    Manage via Telegram

    Phone twin: whitelist, webhook, approve/reject news without a laptop.

    Admin console

    Full three-pane UI when chat remotes are not enough.

    VideoConductor

    Architecture

    LayerPath
    stdio MCP serverAI-RING/ring-mcp/ring-mcp-server.js (58 ring-* tools)
    HTTP gatewayapp/api/mcp/v1/**
    Token verifylib/auth/service-token.ts → verifyServiceToken
    Actor contextlib/auth/mcp-actor-context.ts (AsyncLocalStorage SUPERADMIN)
    Package READMEAI-RING/ring-mcp/README.md
    Per-tool MDX/docs/mcp/* (e.g. ring-video-create)

    Kingdom MCP (different scope): legiox-mcp, ringdom-mcp, reggie-mcp.

    Env SSOT (verified)

    ():

    Related

    Related

    Manage via Telegram

    Same-workflow: phone-side admin bot for the same clone ops surface.

    Community tooling

    See-also: kingdom MCP vs per-clone ring-mcp scope.

    Generative Videos (VideoConductor)

    Deep-dive: ring-video-create end-to-end on the clone.

    Admin Wiki

    Next-step: ring-wiki-* tools for project knowledge self-build and search.

    Ring MCP Server (ring-mcp)

    Operate one Ring Platform clone from natural language — in Cursor, Claude Desktop, or any MCP host — without opening the admin UI for every CRUD task.

    ring-mcp is a stdio MCP server under AI-RING/ring-mcp/. It does not open PostgreSQL. It calls your clone’s Bearer service gateway at /api/mcp/v1/*, which runs as a synthetic SUPERADMIN and reuses Ring’s existing services.

    Use Founder / Developer tabs in the docs sidebar. Founders: how MCP and Telegram both remote-control your project. Developers: env, mcp.json, gateway paths, and tool inventory.

    Operator remotes for one Ring clone
    RemoteWho uses itHow it reaches the clone
    ring-mcpFounders + hired developers in an AI IDEstdio MCP → RING_API_BASE_URL + RING_MCP_ACCESS_KEY → /api/mcp/v1/*
    Telegram Admin BotAdmins on the phoneWhitelisted Telegram chat → webhook → Ring services (Manage via Telegram)

    They are sibling remotes, not the same process. Both target one white-label instance (your store, newsroom, users). Kingdom tools (legiox-*, ringdom-*, reggie-*) are a different scope.

    Why this matters for your clone

    You already have a Ring project (GreenFood, PetFriend, Vikka, …). You want to:

    1. Ask Cursor: “list open opportunities”, “approve this vendor”, “draft a news post”
    2. Ask Telegram: “approve draft”, “who signed up today” — without a laptop

    MCP is the IDE remote. Telegram is the phone remote. Point both at the same clone URL and keep tokens/secrets out of git.

    Manage via Telegram

    Phone twin: whitelist, webhook, approve/reject news without a laptop.

    Admin console

    Full three-pane UI when chat remotes are not enough.

    VideoConductor

    Architecture

    LayerPath
    stdio MCP serverAI-RING/ring-mcp/ring-mcp-server.js (58 ring-* tools)
    HTTP gatewayapp/api/mcp/v1/**
    Token verifylib/auth/service-token.ts → verifyServiceToken
    Actor contextlib/auth/mcp-actor-context.ts (AsyncLocalStorage SUPERADMIN)
    Package READMEAI-RING/ring-mcp/README.md
    Per-tool MDX/docs/mcp/* (e.g. ring-video-create)

    Kingdom MCP (different scope): legiox-mcp, ringdom-mcp, reggie-mcp.

    Env SSOT (verified)

    ():

    Related

    Related

    Manage via Telegram

    Same-workflow: phone-side admin bot for the same clone ops surface.

    Community tooling

    See-also: kingdom MCP vs per-clone ring-mcp scope.

    Generative Videos (VideoConductor)

    Deep-dive: ring-video-create end-to-end on the clone.

    Admin Wiki

    Next-step: ring-wiki-* tools for project knowledge self-build and search.

    Ring MCP Server (ring-mcp)

    Operate one Ring Platform clone from natural language — in Cursor, Claude Desktop, or any MCP host — without opening the admin UI for every CRUD task.

    ring-mcp is a stdio MCP server under AI-RING/ring-mcp/. It does not open PostgreSQL. It calls your clone’s Bearer service gateway at /api/mcp/v1/*, which runs as a synthetic SUPERADMIN and reuses Ring’s existing services.

    Use Founder / Developer tabs in the docs sidebar. Founders: how MCP and Telegram both remote-control your project. Developers: env, mcp.json, gateway paths, and tool inventory.

    Operator remotes for one Ring clone
    RemoteWho uses itHow it reaches the clone
    ring-mcpFounders + hired developers in an AI IDEstdio MCP → RING_API_BASE_URL + RING_MCP_ACCESS_KEY → /api/mcp/v1/*
    Telegram Admin BotAdmins on the phoneWhitelisted Telegram chat → webhook → Ring services (Manage via Telegram)

    They are sibling remotes, not the same process. Both target one white-label instance (your store, newsroom, users). Kingdom tools (legiox-*, ringdom-*, reggie-*) are a different scope.

    Why this matters for your clone

    You already have a Ring project (GreenFood, PetFriend, Vikka, …). You want to:

    1. Ask Cursor: “list open opportunities”, “approve this vendor”, “draft a news post”
    2. Ask Telegram: “approve draft”, “who signed up today” — without a laptop

    MCP is the IDE remote. Telegram is the phone remote. Point both at the same clone URL and keep tokens/secrets out of git.

    Manage via Telegram

    Phone twin: whitelist, webhook, approve/reject news without a laptop.

    Admin console

    Full three-pane UI when chat remotes are not enough.

    VideoConductor

    Architecture

    LayerPath
    stdio MCP serverAI-RING/ring-mcp/ring-mcp-server.js (58 ring-* tools)
    HTTP gatewayapp/api/mcp/v1/**
    Token verifylib/auth/service-token.ts → verifyServiceToken
    Actor contextlib/auth/mcp-actor-context.ts (AsyncLocalStorage SUPERADMIN)
    Package READMEAI-RING/ring-mcp/README.md
    Per-tool MDX/docs/mcp/* (e.g. ring-video-create)

    Kingdom MCP (different scope): legiox-mcp, ringdom-mcp, reggie-mcp.

    Env SSOT (verified)

    ():

    Related

    Related

    Manage via Telegram

    Same-workflow: phone-side admin bot for the same clone ops surface.

    Community tooling

    See-also: kingdom MCP vs per-clone ring-mcp scope.

    Generative Videos (VideoConductor)

    Deep-dive: ring-video-create end-to-end on the clone.

    Admin Wiki

    Next-step: ring-wiki-* tools for project knowledge self-build and search.

    Same generative stack as ring-video-create on MCP.

    WalletConductor

    MCP credit tools hit the same ledger as the wallet UI.

    Founder checklist — connect MCP to your project

    1. 1

      1. Pick the clone URL

      Local: http://localhost:3000. Production: https://your-clone.example.com. That becomes RING_API_BASE_URL — it must be your project, not another tenant.

    2. 2

      2. Create one long random service token

      On the Ring clone, set RING_MCP_ACCESS_KEY (comma-separated if you need several keys). Restart the app. Never commit the real value.

    3. 3

      3. Register ring-mcp in Cursor

      In kingdom .cursor/mcp.json (or Cursor Settings → MCP):

      • command: node
      • args: absolute path to AI-RING/ring-mcp/ring-mcp-server.js
      • env: RING_API_BASE_URL, RING_MCP_ACCESS_KEY, optional RING_CLONE_NAME
    4. 4

      4. Smoke-test

      Ask the agent: “Run ring-health and ring-whoami.” You should see your clone name and a superadmin service actor. Then try a read-only list (entities or opportunities).

    5. 5

      5. Keep Telegram as the phone twin

      Wire Manage via Telegram (ADMIN_BOT_*) separately. Same clone, different channel — whitelist only trusted Telegram chat IDs.

    One clone → one MCP entry. Running GreenFood and PetFriend? Register two servers (e.g. ring-mcp-greenfood, ring-mcp-petfriend) with different URLs and tokens.

    MCP runs as synthetic SUPERADMIN. Treat the access key like a root password. Prefer confirm-gated destructive tools (confirm: true) and audit who holds the key.

    Typical founder prompts

    On the Ring clone
    env.local.template
    VariableRequiredRole
    RING_MCP_ACCESS_KEYYesComma-separated Bearer tokens accepted by the gateway
    RING_MCP_SERVICE_USER_IDNoSynthetic actor id (default ring-mcp-service)
    RING_MCP_SERVICE_USER_EMAILNoSynthetic actor email
    RING_MCP_SERVICE_USER_NAMENoSynthetic actor display name

    On ring-mcp (Cursor mcp.json env):

    VariableRequiredRole
    RING_API_BASE_URLYesClone origin (no trailing path)
    RING_MCP_ACCESS_KEYYesMust match one token on the clone
    RING_CLONE_NAMENoLabel for ring-whoami

    Older docs mentioned RING_MCP_SERVICE_TOKENS. Gateway code reads RING_MCP_ACCESS_KEY only (lib/auth/service-token.ts).

    Wire Cursor

    1. 1

      Enable gateway on the clone

      Restart Next.js after changing env.

    2. 2

      Install & self-test

    3. 3

      Register stdio server

    4. 4

      Smoke

      Or ask the agent to call ring-health + ring-whoami.

    Multi-clone profiles

    Register separate MCP entries (ring-mcp-connect, ring-mcp-platform, …) each with its own RING_API_BASE_URL + token. Do not reuse one token across production tenants.

    Tool map (58 tools)

    Sensitive mutations require confirm: true.

    DomainTools (prefix ring-)
    Metahealth, whoami
    Entitiesentity-list/get/search/create/update/delete
    Opportunitiesopportunity-* + opportunity-match
    Newsnews-* + news-score/approve/reject + news-generate
    Storestore-product-*, vendor-*, order-*
    Usersuser-* + user-set-role
    Credit / paymentscredit-*, payment-*
    Notify / chatnotification-list, notify-send, fcm-send, conversation-list, message-send
    Mediaimage-create, video-create

    Full parameter tables: ring-image-create, ring-video-create, generative newsroom.

    Gateway modules

    PathRole
    app/api/mcp/v1/meta/health / whoami
    app/api/mcp/v1/entities/ … users/ …Domain CRUD
    app/api/mcp/v1/images/generateImageConductor
    app/api/mcp/v1/videos/generateVideoConductor
    app/api/mcp/v1/news/generateTextConductor newsroom

    Telegram vs MCP (integrator truth)

    Concernring-mcpTelegram Admin Bot
    TransportMCP stdio + HTTP BearerTelegram webhook
    AuthRING_MCP_ACCESS_KEYADMIN_BOT_* + chat whitelist
    ActorSynthetic SUPERADMINMapped Ring admin/superadmin user
    CodeAI-RING/ring-mcp + app/api/mcp/v1lib/telegram/admin-bot/
    DocsThis pageManage via Telegram

    Telegram does not spawn ring-mcp-server.js. Both eventually mutate the same clone data through Ring services.

    Troubleshooting

    SymptomFix
    401 Invalid service tokenMatch MCP env token to clone RING_MCP_ACCESS_KEY; restart Ring
    RING_MCP_ACCESS_KEY is not configuredSet on Ring app, not only MCP
    tools: 0 / MCP missing in CursorAbsolute path in mcp.json; run --test; reload MCP
    Wrong clone dataCheck RING_API_BASE_URL / RING_CLONE_NAME
    Generative tools failProvider keys (XAI_API_KEY, …) on the clone, not in ring-mcp

    Documentation components

    See-also: MDX authoring reference including RelatedArticle.

    Same generative stack as ring-video-create on MCP.

    WalletConductor

    MCP credit tools hit the same ledger as the wallet UI.

    Founder checklist — connect MCP to your project

    1. 1

      1. Pick the clone URL

      Local: http://localhost:3000. Production: https://your-clone.example.com. That becomes RING_API_BASE_URL — it must be your project, not another tenant.

    2. 2

      2. Create one long random service token

      On the Ring clone, set RING_MCP_ACCESS_KEY (comma-separated if you need several keys). Restart the app. Never commit the real value.

    3. 3

      3. Register ring-mcp in Cursor

      In kingdom .cursor/mcp.json (or Cursor Settings → MCP):

      • command: node
      • args: absolute path to AI-RING/ring-mcp/ring-mcp-server.js
      • env: RING_API_BASE_URL, RING_MCP_ACCESS_KEY, optional RING_CLONE_NAME
    4. 4

      4. Smoke-test

      Ask the agent: “Run ring-health and ring-whoami.” You should see your clone name and a superadmin service actor. Then try a read-only list (entities or opportunities).

    5. 5

      5. Keep Telegram as the phone twin

      Wire Manage via Telegram (ADMIN_BOT_*) separately. Same clone, different channel — whitelist only trusted Telegram chat IDs.

    One clone → one MCP entry. Running GreenFood and PetFriend? Register two servers (e.g. ring-mcp-greenfood, ring-mcp-petfriend) with different URLs and tokens.

    MCP runs as synthetic SUPERADMIN. Treat the access key like a root password. Prefer confirm-gated destructive tools (confirm: true) and audit who holds the key.

    Typical founder prompts

    On the Ring clone
    env.local.template
    VariableRequiredRole
    RING_MCP_ACCESS_KEYYesComma-separated Bearer tokens accepted by the gateway
    RING_MCP_SERVICE_USER_IDNoSynthetic actor id (default ring-mcp-service)
    RING_MCP_SERVICE_USER_EMAILNoSynthetic actor email
    RING_MCP_SERVICE_USER_NAMENoSynthetic actor display name

    On ring-mcp (Cursor mcp.json env):

    VariableRequiredRole
    RING_API_BASE_URLYesClone origin (no trailing path)
    RING_MCP_ACCESS_KEYYesMust match one token on the clone
    RING_CLONE_NAMENoLabel for ring-whoami

    Older docs mentioned RING_MCP_SERVICE_TOKENS. Gateway code reads RING_MCP_ACCESS_KEY only (lib/auth/service-token.ts).

    Wire Cursor

    1. 1

      Enable gateway on the clone

      Restart Next.js after changing env.

    2. 2

      Install & self-test

    3. 3

      Register stdio server

    4. 4

      Smoke

      Or ask the agent to call ring-health + ring-whoami.

    Multi-clone profiles

    Register separate MCP entries (ring-mcp-connect, ring-mcp-platform, …) each with its own RING_API_BASE_URL + token. Do not reuse one token across production tenants.

    Tool map (58 tools)

    Sensitive mutations require confirm: true.

    DomainTools (prefix ring-)
    Metahealth, whoami
    Entitiesentity-list/get/search/create/update/delete
    Opportunitiesopportunity-* + opportunity-match
    Newsnews-* + news-score/approve/reject + news-generate
    Storestore-product-*, vendor-*, order-*
    Usersuser-* + user-set-role
    Credit / paymentscredit-*, payment-*
    Notify / chatnotification-list, notify-send, fcm-send, conversation-list, message-send
    Mediaimage-create, video-create

    Full parameter tables: ring-image-create, ring-video-create, generative newsroom.

    Gateway modules

    PathRole
    app/api/mcp/v1/meta/health / whoami
    app/api/mcp/v1/entities/ … users/ …Domain CRUD
    app/api/mcp/v1/images/generateImageConductor
    app/api/mcp/v1/videos/generateVideoConductor
    app/api/mcp/v1/news/generateTextConductor newsroom

    Telegram vs MCP (integrator truth)

    Concernring-mcpTelegram Admin Bot
    TransportMCP stdio + HTTP BearerTelegram webhook
    AuthRING_MCP_ACCESS_KEYADMIN_BOT_* + chat whitelist
    ActorSynthetic SUPERADMINMapped Ring admin/superadmin user
    CodeAI-RING/ring-mcp + app/api/mcp/v1lib/telegram/admin-bot/
    DocsThis pageManage via Telegram

    Telegram does not spawn ring-mcp-server.js. Both eventually mutate the same clone data through Ring services.

    Troubleshooting

    SymptomFix
    401 Invalid service tokenMatch MCP env token to clone RING_MCP_ACCESS_KEY; restart Ring
    RING_MCP_ACCESS_KEY is not configuredSet on Ring app, not only MCP
    tools: 0 / MCP missing in CursorAbsolute path in mcp.json; run --test; reload MCP
    Wrong clone dataCheck RING_API_BASE_URL / RING_CLONE_NAME
    Generative tools failProvider keys (XAI_API_KEY, …) on the clone, not in ring-mcp

    Documentation components

    See-also: MDX authoring reference including RelatedArticle.

    Same generative stack as ring-video-create on MCP.

    WalletConductor

    MCP credit tools hit the same ledger as the wallet UI.

    Founder checklist — connect MCP to your project

    1. 1

      1. Pick the clone URL

      Local: http://localhost:3000. Production: https://your-clone.example.com. That becomes RING_API_BASE_URL — it must be your project, not another tenant.

    2. 2

      2. Create one long random service token

      On the Ring clone, set RING_MCP_ACCESS_KEY (comma-separated if you need several keys). Restart the app. Never commit the real value.

    3. 3

      3. Register ring-mcp in Cursor

      In kingdom .cursor/mcp.json (or Cursor Settings → MCP):

      • command: node
      • args: absolute path to AI-RING/ring-mcp/ring-mcp-server.js
      • env: RING_API_BASE_URL, RING_MCP_ACCESS_KEY, optional RING_CLONE_NAME
    4. 4

      4. Smoke-test

      Ask the agent: “Run ring-health and ring-whoami.” You should see your clone name and a superadmin service actor. Then try a read-only list (entities or opportunities).

    5. 5

      5. Keep Telegram as the phone twin

      Wire Manage via Telegram (ADMIN_BOT_*) separately. Same clone, different channel — whitelist only trusted Telegram chat IDs.

    One clone → one MCP entry. Running GreenFood and PetFriend? Register two servers (e.g. ring-mcp-greenfood, ring-mcp-petfriend) with different URLs and tokens.

    MCP runs as synthetic SUPERADMIN. Treat the access key like a root password. Prefer confirm-gated destructive tools (confirm: true) and audit who holds the key.

    Typical founder prompts

    On the Ring clone
    env.local.template
    VariableRequiredRole
    RING_MCP_ACCESS_KEYYesComma-separated Bearer tokens accepted by the gateway
    RING_MCP_SERVICE_USER_IDNoSynthetic actor id (default ring-mcp-service)
    RING_MCP_SERVICE_USER_EMAILNoSynthetic actor email
    RING_MCP_SERVICE_USER_NAMENoSynthetic actor display name

    On ring-mcp (Cursor mcp.json env):

    VariableRequiredRole
    RING_API_BASE_URLYesClone origin (no trailing path)
    RING_MCP_ACCESS_KEYYesMust match one token on the clone
    RING_CLONE_NAMENoLabel for ring-whoami

    Older docs mentioned RING_MCP_SERVICE_TOKENS. Gateway code reads RING_MCP_ACCESS_KEY only (lib/auth/service-token.ts).

    Wire Cursor

    1. 1

      Enable gateway on the clone

      Restart Next.js after changing env.

    2. 2

      Install & self-test

    3. 3

      Register stdio server

    4. 4

      Smoke

      Or ask the agent to call ring-health + ring-whoami.

    Multi-clone profiles

    Register separate MCP entries (ring-mcp-connect, ring-mcp-platform, …) each with its own RING_API_BASE_URL + token. Do not reuse one token across production tenants.

    Tool map (58 tools)

    Sensitive mutations require confirm: true.

    DomainTools (prefix ring-)
    Metahealth, whoami
    Entitiesentity-list/get/search/create/update/delete
    Opportunitiesopportunity-* + opportunity-match
    Newsnews-* + news-score/approve/reject + news-generate
    Storestore-product-*, vendor-*, order-*
    Usersuser-* + user-set-role
    Credit / paymentscredit-*, payment-*
    Notify / chatnotification-list, notify-send, fcm-send, conversation-list, message-send
    Mediaimage-create, video-create

    Full parameter tables: ring-image-create, ring-video-create, generative newsroom.

    Gateway modules

    PathRole
    app/api/mcp/v1/meta/health / whoami
    app/api/mcp/v1/entities/ … users/ …Domain CRUD
    app/api/mcp/v1/images/generateImageConductor
    app/api/mcp/v1/videos/generateVideoConductor
    app/api/mcp/v1/news/generateTextConductor newsroom

    Telegram vs MCP (integrator truth)

    Concernring-mcpTelegram Admin Bot
    TransportMCP stdio + HTTP BearerTelegram webhook
    AuthRING_MCP_ACCESS_KEYADMIN_BOT_* + chat whitelist
    ActorSynthetic SUPERADMINMapped Ring admin/superadmin user
    CodeAI-RING/ring-mcp + app/api/mcp/v1lib/telegram/admin-bot/
    DocsThis pageManage via Telegram

    Telegram does not spawn ring-mcp-server.js. Both eventually mutate the same clone data through Ring services.

    Troubleshooting

    SymptomFix
    401 Invalid service tokenMatch MCP env token to clone RING_MCP_ACCESS_KEY; restart Ring
    RING_MCP_ACCESS_KEY is not configuredSet on Ring app, not only MCP
    tools: 0 / MCP missing in CursorAbsolute path in mcp.json; run --test; reload MCP
    Wrong clone dataCheck RING_API_BASE_URL / RING_CLONE_NAME
    Generative tools failProvider keys (XAI_API_KEY, …) on the clone, not in ring-mcp

    Documentation components

    See-also: MDX authoring reference including RelatedArticle.