A Model Context Protocol (MCP) server providing a set of custom tools for AI and automation workflows. Easily extendable with your own tools.
This project is an MCP server built on @eliware/mcp-server . It exposes a set of tools via the Model Context Protocol, making them accessible to AI agents and automation clients.
Key Features:
- Dynamic tool loading from the
tools/directory - Simple to add or modify tools
- HTTP API with authentication
- Built for easy extension
Below is a list of tools provided by this MCP server. Each tool can be called via the MCP protocol or HTTP API.
Name: echo
Description: Returns the text you send it.
Input Schema:
{ "echoText": "string" }Example Request:
{
"tool": "echo",
"args": { "echoText": "Hello, world!" }
}Example Response:
{
"message": "echo-reply",
"data": { "text": "Hello, world!" }
}-
Install dependencies:
npm install
-
Configure environment variables:
MCP_PORT: (optional) Port to run the server (default: 1234)MCP_TOKEN: (optional) Bearer token for authentication
-
Start the server:
node mcp-server-template.mjs
-
Call tools via HTTP or MCP client.
See the @eliware/mcp-server documentation for protocol/API details.
To add a new tool:
- Create a new file in the
tools/directory (e.g.,tools/mytool.mjs):
import { z, buildResponse } from '@eliware/mcp-server';
export default async function ({ mcpServer, toolName, log }) {
mcpServer.tool(
toolName,
"Write a brief description of your tool here",
{ echoText: z.string() },
async (_args,_extra) => {
log.debug(`${toolName} Request`, { _args });
const response = 'Hello World!';
log.debug(`${toolName} Response`, { response });
return buildResponse(response);
}
);
}- Document your tool in the Available Tools section above.
- Restart the server to load new tools.
You can add as many tools as you like. Each tool is a self-contained module.
You can run this server as a background service on Linux using the provided mcp-server-template.service file.
Copy mcp-server-template.service to your systemd directory (usually /etc/systemd/system/):
sudo cp mcp-server-template.service /usr/lib/systemd/system/- Make sure the
WorkingDirectoryandExecStartpaths in the service file match where your project is installed (default:/opt/mcp-server-template). - Ensure your environment file exists at
/opt/mcp-server-template/.envif you use one.
sudo systemctl daemon-reload
sudo systemctl enable mcp-server-template
sudo systemctl start mcp-server-templatesudo systemctl status mcp-server-templateThe server will now run in the background and restart automatically on failure or reboot.
You can run this MCP server in a Docker container using the provided Dockerfile.
docker build -t mcp-server-template .Set your environment variables (such as MCP_TOKEN) and map the port as needed:
docker run -d \
-e MCP_TOKEN=your_secret_token \
-e MCP_PORT=1234 \
-p 1234:1234 \
--name mcp-server-template \
mcp-server-template- Replace
your_secret_tokenwith your desired token. - You can override the port by changing
-e MCP_PORTand-pvalues.
If you make changes to the code, rebuild the image and restart the container:
docker build -t mcp-server-template .
docker stop mcp-server-template && docker rm mcp-server-template
# Then run the container again as aboveFor help, questions, or to chat with the author and community, visit:


