ANYTHINGLLM.md•4.99 kB
# Using FM8 MCP Server with AnythingLLM
## Quick Setup
### 1. Start the MCP Server
```bash
npm run start:http
```
This starts the server at `http://localhost:3333`
### 2. Install AnythingLLM Desktop
Download from: https://anythingllm.com/download
### 3. Configure Ollama in AnythingLLM
1. Open AnythingLLM Settings
2. Go to **LLM Preference**
3. Select **Ollama** as your provider
4. Verify it connects to `http://localhost:11434`
5. Choose your model (e.g., `llama3.2`, `mistral`)
### 4. Install the FM8 Plugin
**Option A: Using the Plugin File** (Recommended)
1. Locate AnythingLLM's custom plugins folder:
- Windows: `%APPDATA%\anythingllm\plugins\agent-skills`
- Mac: `~/Library/Application Support/anythingllm/plugins/agent-skills`
- Linux: `~/.config/anythingllm/plugins/agent-skills`
2. Copy `anythingllm-plugin.js` to that folder
3. Restart AnythingLLM
4. In your workspace settings:
- Enable **Agent mode** (@agent)
- The FM8 tools will be automatically available
**Option B: Manual Tool Registration** (If plugins don't work)
In AnythingLLM's workspace, go to **Agent Configuration** and add these tools manually:
#### Tool 1: Send MIDI CC
```javascript
Name: send_midi_cc
Description: Send raw MIDI CC to FM8 (0-127)
Handler Type: HTTP Request
URL: http://localhost:3333/mcp
Method: POST
Headers: {"Content-Type": "application/json"}
Body:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "send_by_cc",
"arguments": {
"cc": "{{cc}}",
"value": "{{value}}"
}
}
}
```
#### Tool 2: Send FM8 Route
```javascript
Name: send_fm8_route
Description: Send FM8 modulation route
Handler Type: HTTP Request
URL: http://localhost:3333/mcp
Method: POST
Headers: {"Content-Type": "application/json"}
Body:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "send_by_route",
"arguments": {
"source": "{{source}}",
"dest": "{{dest}}",
"value": "{{value}}"
}
}
}
```
#### Tool 3: List Mappings
```javascript
Name: list_fm8_mappings
Description: List all FM8 routes
Handler Type: HTTP Request
URL: http://localhost:3333/mcp
Method: POST
Headers: {"Content-Type": "application/json"}
Body:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_mappings",
"arguments": {}
}
}
```
#### Tool 4: Panic
```javascript
Name: fm8_panic
Description: Emergency stop all sounds
Handler Type: HTTP Request
URL: http://localhost:3333/mcp
Method: POST
Headers: {"Content-Type": "application/json"}
Body:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "panic",
"arguments": {}
}
}
```
#### Tool 5: Status
```javascript
Name: fm8_status
Description: Get server status
Handler Type: HTTP Request
URL: http://localhost:3333/mcp
Method: POST
Headers: {"Content-Type": "application/json"}
Body:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "status",
"arguments": {}
}
}
```
### 5. Enable Agent Mode
In your AnythingLLM workspace:
1. Go to **Settings** → **Agent Configuration**
2. Toggle **Agent Mode** to ON
3. Select your preferred agent model
4. The FM8 tools should now appear in the available tools list
### 6. Start Using It!
In your chat, prefix messages with `@agent` to enable agent mode:
**Example conversations:**
```
@agent Show me all available FM8 mappings
@agent Set LFO1 to modulate the filter cutoff with value 80
@agent Send MIDI CC 10 with value 64
@agent What's the current server status?
@agent Emergency! Stop all sounds!
```
## Troubleshooting
**"MCP server not running" error:**
- Make sure `npm run start:http` is running
- Check that `http://localhost:3333/health` returns OK
**Tools not appearing:**
- Make sure Agent mode is enabled
- Restart AnythingLLM after installing the plugin
- Check the plugin file is in the correct folder
**Agent not calling tools:**
- Make sure you're using `@agent` prefix in your messages
- Try being more explicit: "Use the send_fm8_route tool to..."
- Some models work better than others (llama3.2, mistral work well)
## Example Workflows
### Create a Wobble Bass
```
@agent I want to create a wobble bass effect in FM8.
Set up LFO1 to modulate the filter cutoff with maximum intensity.
```
### Explore Available Controls
```
@agent Show me all available modulation routes in FM8
```
### Quick MIDI Control
```
@agent Send CC 74 (filter cutoff) to value 90
```
### Check Everything
```
@agent Check the server status and list the first few mappings
```
## Why AnythingLLM?
- ✅ **100% Local** - Everything runs on your machine
- ✅ **Easy Plugin System** - Just drop the file in
- ✅ **Nice UI** - Clean desktop app interface
- ✅ **Multi-Model** - Works with Ollama, OpenAI, Anthropic, etc.
- ✅ **Agent Mode** - Built-in support for tool calling
- ✅ **Free & Open Source** - No subscriptions needed
Enjoy controlling FM8 with AI! 🎹✨