[Website](https://systemprompt.io) | [Documentation](https://systemprompt.io/documentation) | [Blog](https://tyingshoelaces.com) | [Get API Key](https://systemprompt.io/console)
A specialized Model Context Protocol (MCP) server that enables you to create, manage, and extend AI agents through a powerful prompt and tool management system. This server integrates with [systemprompt.io](https://systemprompt.io) to provide seamless creation, management, and versioning of system prompts through MCP.
An API KEY is required to use this server. This is currently free, although this may change in the future. You can get one [here](https://systemprompt.io/console).
This server uses Sampling and Notification functionality from the [@modelcontextprotocol/sdk](https://github.com/modelcontextprotocol/sdk). This will only work with advanced clients that support these features. A free opensource client [multimodal-mcp-client](https://github.com/Ejb503/multimodal-mcp-client) can be used to provide a complete voice-powered AI workflow solution.
Required Client
This server is designed to work with the [multimodal-mcp-client](https://github.com/Ejb503/multimodal-mcp-client) - a voice-powered MCP client that provides the frontend interface. Please make sure to set up both components for the full functionality.
Why Use This Server?
**Agent Management**: Create and manage AI agents with customized system prompts and tool configurations
**Extensible Tool System**: Add, modify, and combine tools to enhance your agents' capabilities through MCP
**Prompt Management**: Centralized management of system prompts with versioning and metadata support
**Type-Safe Integration**: Full TypeScript support with proper error handling
**MCP Compatibility**: Works seamlessly with [multimodal-mcp-client](https://github.com/Ejb503/multimodal-mcp-client) and other MCP-compatible clients
**Open Source**: Free to use and modify under the MIT license
Features
Core Functionality
**MCP Protocol Integration**: Full implementation of Model Context Protocol for seamless AI agent interactions
**Voice-Powered Interface**: Compatible with voice commands through multimodal-mcp-client
**Real-Time Processing**: Supports streaming responses and real-time interactions
**Type-Safe Implementation**: Full TypeScript support with proper error handling
Agent Management
Create and configure AI agents with specific capabilities
Manage agent states and contexts
Define agent behaviors through system prompts
Monitor and debug agent interactions
Version control for agent configurations
Resource management for agent assets
Advanced Tools System
Built-in tools include:
**Prompt Management**
- `create_prompt` - Create new system prompts with metadata
- `edit_prompt` - Update existing system prompts with versioning
- `get_prompt` - Retrieve specific prompt configurations
**Resource Management**
- `create_resource` - Create new agent resources and configurations
- `edit_resource` - Modify existing agent resources
- `list_resources` - Browse available agent resources
- `read_resource` - Access specific agent resource content
**System Tools**
- `systemprompt_heartbeat` - Monitor system status and health
- `systemprompt_fetch_resources` - Retrieve all available resources
To install SystemPrompt Agent for Claude Desktop automatically via [Smithery](https://smithery.ai/server/systemprompt-agent-server):
Manual Installation
To manually configure with Claude Desktop, add the server config:
On MacOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
On Windows: `%APPDATA%/Claude/claude_desktop_config.json`
Debugging
Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the [MCP Inspector](https://github.com/modelcontextprotocol/inspector), which is available as a package script:
The Inspector will provide a URL to access debugging tools in your browser.
Testing
This project uses Jest for testing with TypeScript and ESM (ECMAScript Modules) support.
Test Configuration
The test setup includes:
Full TypeScript support with ESM modules
Global fetch mocking
Automatic test reset between runs
Custom matchers for validation
Type-safe mocking utilities
Module Resolution
The project uses a dual module resolution strategy:
Source code uses ESM (ECMAScript Modules) with `.js` extensions
Tests use CommonJS for compatibility with Jest
This is configured through two TypeScript configurations:
`tsconfig.json`: Main configuration for source code (ESM)