README.mdā¢6.57 kB
# SkyeNet-MCP-ACE
**ServiceNow Background Script Execution for AI Agents** - A Model Context Protocol (MCP) server that enables AI agents to execute server-side JavaScript directly on ServiceNow instances with context bloat reduction features.
## š Quick Start
### Prerequisites
- Node.js 20+ (system-wide installation recommended)
- ServiceNow instance with API access
- Root/sudo access for system-wide installation
### Installation
```bash
# Clone the repository
git clone https://github.com/skyenet/skyenet-mcp-ace.git
cd skyenet-mcp-ace
# Bulletproof deployment (handles all edge cases)
sudo ./bulletproof-deploy.sh
# Verify installation
./bulletproof-verify.sh
```
### Configuration
Create your ServiceNow credentials file:
```bash
# Copy the example file
cp servicenow-ace.env.example ~/.servicenow-ace.env
# Edit with your ServiceNow details
nano ~/.servicenow-ace.env
```
Required environment variables:
```bash
SNOW_INSTANCE=https://your-instance.service-now.com
SNOW_USERNAME=your-username
SNOW_PASSWORD=your-password
```
### Codex Integration
Add to your Codex configuration (`/etc/codex/config.toml`):
```toml
[[mcp.servers.skyenet-ace]]
command = "/usr/local/sbin/skyenet-mcp-ace-server"
args = []
```
## š ļø Available Tools
### 1. `execute_background_script`
Execute server-side JavaScript directly on ServiceNow instances.
**Parameters:**
- `script` (string): The JavaScript code to execute
- `quiet` (boolean, optional): Ultra-minimal response mode
**Example:**
```javascript
// Get user information
var user = new GlideRecord('sys_user');
user.get('admin');
gs.print(user.getDisplayValue());
```
### 2. `execute_table_operation`
Perform CRUD operations on ServiceNow tables with context bloat reduction.
**Parameters:**
- `operation` (string): GET, POST, PUT, DELETE
- `table` (string): Table name (e.g., 'sys_user', 'incident')
- `sys_id` (string, optional): Record sys_id for specific operations
- `sys_ids` (array, optional): Multiple sys_ids for batch operations
- `fields` (array, optional): Specific fields to retrieve
- `query` (string, optional): Encoded query string
- `limit` (number, optional): Maximum records to return
- `strict_fields` (boolean, optional): Enable strict field validation
- `response_mode` (string, optional): 'minimal' for reduced response size
**Examples:**
```javascript
// Get user records
{
  "operation": "GET",
  "table": "sys_user",
  "fields": ["sys_id", "user_name", "email"],
  "limit": 10,
  "response_mode": "minimal"
}
// Create incident
{
  "operation": "POST",
  "table": "incident",
  "data": {
    "short_description": "New incident",
    "priority": "3"
  }
}
```
### 3. `execute_updateset_operation`
Manage ServiceNow Update Sets with context bloat reduction.
**Parameters:**
- `operation` (string): recent, contents, set_working, get_working
- `update_set_sys_id` (string, optional): Update Set sys_id
- `response_mode` (string, optional): 'minimal' for reduced response size
- `quiet` (boolean, optional): Ultra-minimal response mode
**Examples:**
```javascript
// Get recent XML activity (minimal mode)
{
  "operation": "recent",
  "response_mode": "minimal"
}
// Set working update set
{
  "operation": "set_working",
  "update_set_sys_id": "abc123def456",
  "quiet": true
}
```
## š§ Context Bloat Reduction Features
### Minimal Mode
- **Table API**: Truncates large fields, limits records, removes redundant data
- **Update Sets**: Limits to 5 records, compact summaries, flattened structure
- **Background Scripts**: Truncates output, removes verbose logging
### Quiet Mode
- **Ultra-minimal responses**: Only success/failure status
- **No verbose output**: Essential information only
- **Reduced token usage**: 90%+ reduction in response size
### Response Size Examples
- **Standard Table API**: ~15KB
- **Minimal Table API**: ~700 bytes
- **Quiet Update Set**: ~300 bytes
- **Minimal Update Set**: ~2.6KB
## š Maintenance
### Update Installation
```bash
# Pull latest changes
git pull origin main
# Re-run bulletproof deployment
sudo ./bulletproof-deploy.sh
# Verify everything works
./bulletproof-verify.sh
```
### Clean Reinstall
```bash
# Clean everything
sudo rm -rf /usr/local/lib/node_modules/skyenet-mcp-ace
sudo rm -f /usr/local/sbin/skyenet-mcp-ace-server
# Re-run bulletproof deployment
sudo ./bulletproof-deploy.sh
# Verify
./bulletproof-verify.sh
```
## šØ Troubleshooting
### Server Won't Start
```bash
# Check server binary
ls -la /usr/local/sbin/skyenet-mcp-ace-server
# Test manually
/usr/local/sbin/skyenet-mcp-ace-server
# Check Node.js version
/usr/bin/node --version
```
### Codex Timeout Issues
```bash
# Verify server works
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}' | /usr/local/sbin/skyenet-mcp-ace-server
# Check Codex configuration
cat /etc/codex/config.toml | grep skyenet
```
### Permission Issues
```bash
# Fix permissions
sudo chmod +x /usr/local/sbin/skyenet-mcp-ace-server
# Verify ownership
sudo chown root:root /usr/local/sbin/skyenet-mcp-ace-server
```
## š Project Structure
```
SkyeNet-MCP-ACE/
āāā bulletproof-deploy.sh    # Bulletproof deployment script
āāā bulletproof-verify.sh    # Comprehensive verification
āāā src/                     # TypeScript source code
ā   āāā index.ts            # Main MCP server
ā   āāā servicenow/         # ServiceNow integration
ā   āāā utils/               # Utility functions
āāā build/                  # Compiled JavaScript
āāā README.md              # This file
```
## šÆ Key Features
- **Context Bloat Reduction**: Minimal and quiet modes for AI agents
- **Bulletproof Deployment**: Handles all edge cases automatically
- **Multi-User Compatibility**: Works for all users system-wide
- **Comprehensive Verification**: Tests all scenarios
- **ServiceNow Integration**: Direct API access with error handling
- **Update Set Management**: Full lifecycle support
- **Table Operations**: CRUD with field validation
## š Security
- **Credential Management**: Separate from MCP-Connect
- **Field Validation**: Prevents injection attacks
- **Error Handling**: Secure error responses
- **System-wide Installation**: Proper permissions
## š Performance
- **Response Times**: < 3 seconds for most operations
- **Memory Usage**: Optimized for AI agent interactions
- **Token Efficiency**: 90%+ reduction in context bloat
- **Reliability**: Bulletproof deployment ensures stability
---
**For detailed deployment instructions, see the bulletproof deployment script comments.**