eliza-mcp
v1.0.0
Published
A Model Context Protocol (MCP) server for the ELIZA chatbot
Downloads
21
Maintainers
Readme
ELIZA MCP Server
A Model Context Protocol (MCP) server that provides access to the classic ELIZA chatbot. ELIZA is a famous early natural language processing program that simulates a Rogerian psychotherapist.
Overview
This MCP server exposes ELIZA's conversational capabilities through a standardized interface, allowing LLMs to interact with this historic chatbot for demonstrations, examples, or entertainment purposes.
Features
- Stateful Conversations: Maintains conversation context across multiple interactions
- Classic ELIZA Responses: Uses the original ELIZA algorithm from the elizabot npm package
- Simple API: Four tools for complete control over ELIZA interactions
Installation
npm install
npm run buildUsage
With Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"eliza": {
"command": "node",
"args": ["C:\\Users\\User\\Downloads\\elisa-mcp\\dist\\index.js"]
}
}
}Standalone
npm startAvailable Tools
eliza_chat
Send a message to ELIZA and receive a response.
Parameters:
message(string, required): The message to send to ELIZA
Returns:
response(string): ELIZA's responsequit(boolean): Whether the user said a quit phrase
Example:
{
"message": "I'm feeling sad today"
}eliza_reset
Reset the ELIZA conversation, clearing all memory and starting fresh.
Parameters: None
Returns: Confirmation message
eliza_get_initial
Get ELIZA's initial greeting message to start a new conversation.
Parameters: None
Returns: ELIZA's greeting
eliza_get_final
Get ELIZA's farewell message when ending the conversation.
Parameters: None
Returns: ELIZA's farewell
Example Interaction
- Get initial greeting:
Tool: eliza_get_initial
Response: "Hello. How are you feeling today?"- Chat with ELIZA:
Tool: eliza_chat
Input: { "message": "I'm worried about my future" }
Response: { "response": "Why are you worried about your future?", "quit": false }- Continue conversation:
Tool: eliza_chat
Input: { "message": "I don't know what I want to do" }
Response: { "response": "Do you often feel uncertain about what you want?", "quit": false }- Reset if needed:
Tool: eliza_reset
Response: "ELIZA conversation has been reset..."How ELIZA Works
ELIZA uses pattern matching and substitution to simulate conversation. It:
- Recognizes keywords and patterns in user input
- Applies transformation rules to generate responses
- Maintains a small memory of previous statements
- Occasionally reflects earlier topics back to the user
The chatbot gives the illusion of understanding while using simple text manipulation techniques.
Technical Details
- Built with the official MCP TypeScript SDK
- Uses the
elizabotnpm package (v0.0.3) - Maintains conversation state in memory
- Communicates via stdio transport
References
License
MIT
Sources
This project was built using information from:
