Skip to main content
Glama
README.md
# Ninetn MCP Server

[![npm version](https://img.shields.io/npm/v/ninetn-mcp-server.svg)](https://www.npmjs.com/package/ninetn-mcp-server)

MCP (Model Context Protocol) server for integrating with [Ninetn](https://ninetn.diatonic.codes) - an AI-powered memo application.

This server provides MCP clients with tools to interact with [Ninetn](https://ninetn.diatonic.codes)'s memo system, enabling AI-assisted memo creation, retrieval, and search functionality.

## Prerequisites

- **[Ninetn](https://ninetn.diatonic.codes) application must be running** on your local machine (default: http://localhost:50019)
- Node.js and npm

## Available Tools

- **`memo_create`** - Create new memos that require user approval before being saved
- **`memo_get`** - Retrieve a specific memo by its ID
- **`memo_list`** - List memos from a channel with pagination support
- **`memo_search`** - Search memos by content with filtering options

## Quick Start

*Note: This package will be published to npm in the future for easier installation.*

Currently, to use this MCP server:

1. **Build the MCP server:**
```bash
npm install
npm run build
```

2. **Configure your MCP client:**

**Example for Claude Code - create `.mcp.json`:**
```json
{
  "mcpServers": {
    "ninetn": {
      "command": "npx",
      "args": ["-y", "ninetn-mcp-server"],
    }
  }
}
```

*Note: Add `"env": {"NINETN_API_URL": "http://your-custom-url"}` only if your Ninetn server is not running on the default `http://localhost:50019`.*

For other MCP clients, refer to their specific configuration documentation.

3. **Start your MCP client and use natural language:**
```
"Create a memo about today's meeting"
"List recent memos from this channel"
"Search for memos containing 'project updates'"
```

## Development

```bash
# Install dependencies
npm install

# Build
npm run build

# Development with watch mode
npm run dev

# Format code
npm run format

# Lint
npm run lint

# Test
npm run test
```

## Testing

Test all tools functionality:
```bash
npm run test:all-tools
```

## License

MIT

TDQS

A4/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a distinct purpose: creating, retrieving by ID, listing from a channel, and searching by content. There is no overlap that would cause an agent to select the wrong tool.

Naming Consistency5/5

All tool names follow the same pattern of memo_<action>, using lowercase with underscores consistently. The verb-noun order is uniform across the set.

Tool Count5/5

With only four tools, the server is tightly scoped to core memo operations. Each tool adds a distinct capability, and the count is appropriate for a focused memo access server.

Completeness3/5

The tool set covers creation and retrieval (by ID, list, search) but lacks update and delete operations, which are common for a full memo lifecycle. This is a notable gap, though the current set could serve read-centric workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues