Provides a note-taking tool that enables appending timestamped text entries to a local notes file stored in the user's Documents directory.
Serves as the runtime environment for the MCP server, required to run the personal tools server.
Used for package management and running server commands for the MCP personal tools server.
Used as the programming language for implementing the MCP server and custom tools.
Provides schema validation for defining tool parameters and ensuring proper data typing in the MCP server.
MCP Personal Tools Server
This project is a simple server that implements the Model Context Protocol (MCP). It exposes a set of personal tools that can be used by a compatible MCP client or agent. The initial tool allows for adding notes to a local file.
Features
- Model Context Protocol (MCP) Server: Built using the
@modelcontextprotocol/sdk
. - Extensible Toolset: Designed to be easily extended with new custom tools.
- Note-Taking Tool: Includes a simple
add-note
tool to append text to a notes file.
Prerequisites
Installation
- Clone the repository or set up the project files.
- Install the required dependencies:
Usage
There are several ways to run the server.
Development Mode
To run the server with hot-reloading for development, use:
Production
- Build the TypeScript code:
This command compiles the
src/server.ts
file into JavaScript in thebuild
directory. - Start the server:
This command runs the compiled server.
Inspecting the Server
The Model Context Protocol includes an inspector tool to view the server's capabilities (like the tools it offers). To use it, run:
This will start your server and open the inspector, allowing you to see the available tools and their schemas.
Available Tools
add-note
- Description: Adds a new line with a timestamp to a notes file.
- Parameters:
text
(string): The text content to add to the note.
- File Location: The notes are stored in a file named
note.txt
located in~/Documents/notes/
. The directory is created automatically if it does not exist.
How to Add a New Tool
You can easily add new tools to the server by following the pattern in src/server.ts
.
- Open
src/server.ts
. - Use the
server.tool()
method to define your new tool. - Provide a name, a description, a Zod schema for the input parameters, and an async function to execute the tool's logic.
Example
local-only server
The server can only run on the client's local machine because it depends on local resources.
Tools
A simple server implementing the Model Context Protocol (MCP) that exposes personal tools like note-taking for compatible MCP clients or agents.
Related MCP Servers
- AsecurityAlicenseAqualityA beginner-friendly Model Context Protocol (MCP) server that helps users understand MCP concepts, provides interactive examples, and lists available MCP servers. This server is designed to be a helpful companion for developers working with MCP. Also comes with a huge list of servers you can install.Last updated -367661JavaScriptApache 2.0
- -securityFlicense-qualityThis TypeScript-based MCP server allows users to manage a simple notes system through creating and summarizing text notes using Model Context Protocol (MCP).Last updated -6017TypeScript
- AsecurityAlicenseAqualityThis TypeScript-based MCP server allows users to manage and interact with a note system through Model Context Protocol, enabling note creation and summarization with URIs and metadata.Last updated -1JavaScriptMIT License
- AsecurityFlicenseAqualityA simple note-taking MCP server that stores notes and can generate summaries of stored content.Last updated -4Python