使用说明
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:
NodeJSRuntimeToolPythonRuntimeToolSamplePluginBundleSamplePluginDyLibToolJSONBridge
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 definitionsconfig/Skills/: reusable task workflowsconfig/Prompts/: prompt definitionsconfig/Resources/: linked reference resourcesconfig/MultiAgents/: example agent workflowsconfig/aiproviders.jsonandconfig/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
- JavaScript scripting reference
- Handler catalog
- Native sample plugin
- MCP integration boundary
- Node.js runtime plugin
- Python runtime plugin
License
Copyright (C) 2026 EoF Software Lab. All rights reserved. See LICENSE.
