mcp-task

mcp-task

3.5

MCP server demoing a task management.

mcp-task

MCP server demoing a task management.

I use the MCP Go library of MegaGrindStone to create a simple task management server. It uses Redis as a backend for storing tasks.

The purpose of this project is to demonstrate the use of the MCP Go library and provide a simple task management solution. It's not intended for production use.

Getting Started

Prerequisites

  • Go 1.18 or later
  • Redis server (already included in the docker-compose file)

Features

  • Create, update, delete tasks
  • Assign tasks to users
  • Mark tasks as complete
  • Filter tasks by status
  • Search tasks by title

Installation

You can launch the server using Docker or run it locally.

Docker

docker-compose up

You can access the server at http://localhost:8090/sse.

Local

Configure the config.json file to your needs. You can use the provided config.example.json file as a template. You must have Redis server running locally.

go run main.go

You can access the server at http://localhost:8090/sse.

How to interact with the server

Using MCP client

I use the MCP Web UI of MegaGrindStone to interact with the server. You can use the web UI to create, update, delete tasks, and assign them to users. The web UI is a simple and easy-to-use interface for managing tasks.

To declare the MCP server, you can use the following config file:

port: 8080
logLevel: debug # Choose one of the following: debug, info, warn, error, default to info
logMode: text # Choose one of the following: json, text, default to text
systemPrompt: You are a helpful assistant.
titleGeneratorPrompt: Generate a title for this chat with only one sentence with maximum 5 words.
# Choose one of the following LLM providers: ollama, anthropic
llm:

  # anthropic
  apiKey: XXX# Default to environment variable ANTHROPIC_API_KEY
  model: claude-3-7-sonnet-20250219
  provider: anthropic
  # mistral
  # apiKey: XXXX
  # endpoint: https://api.mistral.ai/v1
  # model: mistral-large-latest
  maxTokens: 1000


mcpSSEServers:
  mcp-task-server:
    url: http://localhost:8090/sse
    maxPayloadSize: 1048576 # 1MB

Note on Anthropic Client

Antropic Client do not support SSE server for now.

Using the MCP client

The MCP client (MCP Web UI) is connected to Anthropic's Claude 3 model. You can use the web UI to create, update, delete tasks, and assign them to users. The web UI is a simple and easy-to-use interface for managing tasks.

Prompt example

Give me my tasks for today
Create a task to buy groceries
Create a task to go to the restaurant "Chez Michel" tomorrow at 7pm

Contributing

If you want to contribute to this project, feel free to open an issue or a pull request. I welcome any contributions, whether it's bug fixes, new features, or improvements to the documentation.

License

This project is licensed under the MIT License. See the file for details.