laravel-zoho/mcp-server 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

laravel-zoho/mcp-server

Composer 安装命令:

composer require laravel-zoho/mcp-server

包简介

Laravel package that runs a Model Context Protocol (MCP) server exposing Zoho REST API operations as MCP tools (via Laravel MCP).

README 文档

README

Laravel package that exposes Zoho REST APIs to AI clients through the Model Context Protocol, using Laravel’s first-party Laravel MCP package (laravel/mcp) — not a separate low-level MCP SDK.

Requirements

  • PHP 8.3+
  • Laravel 13+ (this release aligns with laravel/mcp and Illuminate 13 components)
  • A Zoho OAuth client (client id + secret) in Zoho API Console

laravel/mcp is a direct dependency; installing this package pulls it in and registers the MCP console commands (for example mcp:start).

Installation

composer require laravel-zoho/mcp-server

The service provider loads migrations automatically. Run php artisan migrate in your app.

Publish configuration (optional):

php artisan vendor:publish --tag=zoho-mcp-config

Multi-user OAuth (recommended)

Each Laravel user completes the Zoho authorization code flow in the browser. Tokens are stored in zoho_mcp_oauth_connections (encrypted). Each user then gets an MCP access token (zmcp_…) from POST /zoho-mcp/mcp-access-tokens to pass as ZOHO_MCP_ACCESS_TOKEN.

See config/zoho-mcp.php for ZOHO_OAUTH_CALLBACK_URL, scopes, route prefix, and middleware.

Running the MCP server (local / stdio)

This package registers a local MCP server handle (default zoho, overridable with ZOHO_MCP_LOCAL_HANDLE / config('zoho-mcp.mcp_local_handle')):

php artisan mcp:start zoho

Compatibility wrapper (sets --token for this process, then calls mcp:start):

php artisan zoho:mcp --token='zmcp_....'
# or
export ZOHO_MCP_ACCESS_TOKEN='zmcp_....'
php artisan zoho:mcp

Legacy single-tenant mode still works when ZOHO_REFRESH_TOKEN and client credentials are set and no MCP access token is provided (see BootstrapZohoCredentials).

Cursor example

{
  "mcpServers": {
    "zoho": {
      "command": "php",
      "args": ["/absolute/path/to/your/project/artisan", "mcp:start", "zoho"],
      "cwd": "/absolute/path/to/your/project",
      "env": {
        "ZOHO_MCP_ACCESS_TOKEN": "zmcp_your_personal_token_here"
      }
    }
  }
}

You may use zoho:mcp instead of mcp:start zoho if you prefer the wrapper command.

MCP tools (Zoho CRM v8)

Tools are Laravel\Mcp\Server\Tool classes and return Laravel\Mcp\Response::json() (or Response::error() for recoverable issues). They map closely to Zoho CRM V8 APIs. Grant matching OAuth scopes (defaults in config/zoho-mcp.php include modules, users, settings, and org read).

Tool Zoho CRM v8 area
zoho_api_request Escape hatch: any REST method/path under your API base (other products or undocumented endpoints).
zoho_crm_get_organization GET /org
zoho_crm_list_modules GET /settings/modules
zoho_crm_get_module_metadata GET /settings/modules/{module}
zoho_crm_get_fields GET /settings/fields?module=
zoho_crm_get_layouts GET /settings/layouts?module=
zoho_crm_get_related_lists_metadata GET /settings/related_lists?module=
zoho_crm_list_users GET /users
zoho_crm_get_user GET /users/{id}
zoho_crm_list_roles GET /settings/roles
zoho_crm_get_role GET /settings/roles/{id}
zoho_crm_list_profiles GET /settings/profiles
zoho_crm_get_profile GET /settings/profiles/{id}
zoho_crm_list_territories GET /settings/territories
zoho_crm_get_territory GET /settings/territories/{id}
zoho_crm_get_records Module list
zoho_crm_get_record Single record
zoho_crm_create_records POST create
zoho_crm_update_records PUT update
zoho_crm_delete_records DELETE by ids
zoho_crm_coql_query COQL
zoho_crm_search_records Criteria search
zoho_crm_get_related_records Related list rows
zoho_crm_composite_requests POST /__composite_requests (≤5 sub-requests)

Additional OAuth scopes may be required for some calls (for example Zoho documents ZohoCRM.composite_requests.CUSTOM for composite). Adjust ZOHO_OAUTH_SCOPES when connecting Zoho.

Security

  • MCP access tokens are secrets; rotate via expiry or DB deletion.
  • Zoho refresh tokens in the database are encrypted with your app key.

License

MIT

统计信息

  • 总下载量: 0
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 11
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-05-07

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固