Official SDK of the EoF MCP Studio App for macOS
The MCPStudio_ToolSDK provides a comprehensive framework for building custom tools, plugins, and scripts for the MCP Studio application. This SDK enables developers to extend MCP Studio functionality through:
- JavaScript Scripting - Full API access via built-in utilities
- C/C++ Plugins - Build dynamic libraries (dylib) and bundles
- Build Integration - CMake, Xcode, QMake support
- File Operations - Secure file access with macOS sandboxing
- HTTP Tools - REST API client for network operations
- Build Automation - Project build management utilities
MCPStudio_ToolSDK/
├── Scripts/ # JavaScript utility scripts
│ ├── clangTools.js # Clang compiler tools
│ ├── cmakeBuild.js # CMake build automation
│ ├── checkWithXcode.js # Xcode project validation
│ ├── fileRead.js # File reading utilities
│ ├── fileSave.js # File writing utilities
│ ├── shellCall.js # Shell command execution
│ ├── httpTools.js # HTTP request utilities
│ ├── directoryList.js # Directory listing operations
│ ├── directoryCreate.js # Directory creation utilities
│ └── tool_entry.js # Tool entry point registry
├── SamplePlugin/ # Sample plugin template
│ ├── dylib/ # Dynamic library implementation
│ ├── bundle/ # Bundle implementation
│ ├── CMakeLists.txt # Master build configuration
│ └── ToolCapabilities.json # Plugin capabilities definition
├── test-scripts/ # Test suite for utilities
│ ├── testFileOps.js # File operation tests
│ ├── testHttpAll.js # HTTP method tests
│ ├── testJSON.js # JSON handling tests
│ └── ... # Additional test scripts
└── README*.md # Documentation files
## Quick Start Guide
### 1. Build a Sample Plugin
```bash
cd SamplePlugin
mkdir build
cd build
cmake ..
make
This generates both SampleTool dylib and SampleTool.bundle.
Add scripts to the Scripts/ directory:
// Example: customTools.js
function toolEntry(sid, toolName, params, resultJson, resultSize) {
// Your tool implementation here
return null;
}
module.exports = {
toolEntry
};Use the MCP Studio UI to:
- Configure custom tools in Tools/ directory
- Load scripts from Scripts/ directory
- Execute with parameters and view results
fileRead.js- Read file contentsfileSave.js- Write file contentsfileExists.js- Check file existencefileDelete.js- Delete files
cmakeBuild.js- CMake project buildscheckWithXcode.js- Xcode project validationqmakeBuild.js- QMake project builds
shellCall.js- Execute shell commandsgetGccInfo.js- GCC compiler informationgccSettings.js- GCC configuration utilities
directoryList.js- List directory contentsdirectoryCreate.js- Create directoriesmkdir.js- Create single directory
httpTools.js- HTTP request utilitiesfetchResource.js- MCP resource fetchingpreviewFile.js- File preview functionality
tool_entry.js- Tool entry point registrybootstrap.js- Bootstrap utilitiessharedFunctions.js- Shared helper functions
- README-Handler.md - Detailed handler components documentation including MyResourceHandler and FileAccessHandler
- README-Scripting.md - JavaScript scripting integration with full API reference and examples
- README-SamplePlugin.md - Building SamplePlugin bundle and dylib documentation
- README-MCPServer.md - MCP HTTP Server implementation with architecture and protocol methods
- Scripts/ - JavaScript utilities for file operations, build tools, shell commands, HTTP requests
- SamplePlugin/ - CMake-based plugin template with dylib and bundle implementations
- test-scripts/ - Test suite for validating utility functions
- Full API access to file system, build tools, HTTP client
- Parameterized tool execution with logging
- Secure macOS sandbox support
- Support for dynamic libraries (.dylib) and bundles (.bundle)
- CMake-based build configuration
- Tool descriptor registration via
toolDescribe() - ABI-compliant entry points (
toolEntry,toolExecute)
- CMake project builds with custom flags
- Xcode project validation and building
- QMake support for Qt projects
- GCC/Clang compiler integration
- macOS security-scoped file access
- Plugin loading with secure bookmarks
- Sandboxed execution environment
The MCP Studio application uses the following configuration directories:
Tools/ - Custom tool configurations
Resources/ - Resource definitions
Prompts/ - Prompt templates and configurations
- Clone or navigate to the SDK directory
- Review the README files linked above for detailed documentation
- Build the SamplePlugin to understand plugin structure
- Create custom scripts in the Scripts/ directory
- Configure tools via MCP Studio App or configuration files
Copyright (C) 2026 EoF Software Lab. All rights reserved.
Last updated: 2026 | SDK Version: 1.0