MCP Studio 工具 SDK

EoF MCP Studio Tool SDK 是用于 macOS 上 EoF MCP Studio 扩展开发的工具包,提供原生插件 ABI、Node.js/Python 运行时插件、JavaScript 处理器与可导入配置,适用于构建自定义工具、技能和多智能体工作流。

  • by britus
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 britus/MCPStudio_ToolSDK

使用说明

EoF MCP Studio Tool SDK

The EoF MCP Studio Tool SDK is the extension-development repository for EoF MCP Studio on macOS. It contains the native custom-tool ABI, example C/Objective-C++ plugins, Node.js and Python runtime plugins, JavaScript tool handlers, importable EoF MCP Studio configuration.

Requirements

  • macOS 15 or newer
  • Xcode and the Xcode command-line tools
  • CMake 3.25 or newer for CMake builds

Repository layout

Path Purpose
include/ Public C ABI and logging declarations for native plugins
ToolJSONBridge/ Foundation-based JSON bridge shared by Objective-C++ plugins
SamplePlugin/ Example dynamic-library and macOS bundle implementations
NodeJSRuntimePlugin/ Custom-tool bundle that launches Node.js scripts
PythonRuntimePlugin/ Custom-tool bundle that launches Python scripts
Scripts/ JavaScript handlers executed by MCP Studio's scripting host
config/ Importable tools, skills, prompts, resources, multi-agent workflows, and provider examples
skills/codereview/ Markdown prompt assets used by the code-review skill configuration
ToolSDK.xcodeproj Xcode project for all native SDK targets

Build the native targets

Xcode

The shared ToolSDK scheme builds all native products:

xcodebuild \
  -project ToolSDK.xcodeproj \
  -scheme ToolSDK \
  -configuration Debug \
  build

Individual shared schemes are available for NodeJSRuntimeTool, PythonRuntimeTool, and SamplePluginDyLib. The project contains these targets:

  • NodeJSRuntimeTool
  • PythonRuntimeTool
  • SamplePluginBundle
  • SamplePluginDyLib
  • ToolJSONBridge

CMake

Each plugin can also be configured independently:

cmake -S SamplePlugin -B SamplePlugin/build
cmake --build SamplePlugin/build

cmake -S NodeJSRuntimePlugin -B NodeJSRuntimePlugin/build
cmake --build NodeJSRuntimePlugin/build

cmake -S PythonRuntimePlugin -B PythonRuntimePlugin/build
cmake --build PythonRuntimePlugin/build

The projects default to universal arm64;x86_64 builds with a macOS 15.0 deployment target. See the plugin-specific guides for output paths and runtime packaging:

Native plugin ABI

include/ToolABI.h defines ABI version 3. Every native custom-tool plugin exports:

const ToolPluginDescriptor *toolDescribe(void);

void toolEntry(const char *sid,
               const char *toolName,
               const char *params,
               char **resultJson,
               size_t *resultSize);

toolDescribe() returns static metadata, including the ABI version, tool identifier, entry-point name, and capability JSON. toolEntry() returns a UTF-8 JSON buffer allocated with malloc; the host owns that buffer and releases it with free. resultSize includes the trailing NUL byte.

A successful native result normally uses the MCP tool-result shape:

{
  "structuredContent": { "success": true },
  "content": [{ "type": "text", "text": "Completed" }],
  "isError": false
}

JavaScript tools

Scripts/tool_entry.js dispatches the script handlers used by the JSON definitions in config/Tools/. The registered handler groups are:

  • file and directory access
  • Clang, GCC, CMake, QMake, Xcode, and shell operations
  • HTTP requests, downloads, status checks, webhooks, and HTML extraction
  • document/temp path discovery
  • skill-script execution

Script tools run inside EoF MCP Studio's scripting environment and use host-provided APIs such as MCPStudio.fileExists, MCPStudio.process, and MCPStudio.httpRequest; they are not standalone Node.js modules. See the scripting reference and handler catalog.

Configuration examples

config/ is example/import content for EoF MCP Studio:

  • config/Tools/: script, built-in, and native custom-tool definitions
  • config/Skills/: reusable task workflows
  • config/Prompts/: prompt definitions
  • config/Resources/: linked reference resources
  • config/MultiAgents/: example agent workflows
  • config/aiproviders.json and config/sysprompts.json: provider and system prompts

${TOOLSDK} in a configuration path is resolved by EoF MCP Studio to the installed SDK root. Built-in tool definitions such as Calendar, Contacts, and FileResourceHandler describe host-app capabilities; their implementations are not part of this repository.

MCP integration

This repository supplies tools and configuration consumed by EoF MCP Studio. It does not contain the application's MCP HTTP server implementation. README-MCPServer.md documents that boundary and the protocol-facing result contract used by SDK plugins.

Releases

Documentation

License

Copyright (C) 2026 EoF Software Lab. All rights reserved. See LICENSE.