Skip to main content
Glama
ThuongHan

project-1

by ThuongHan
README.md
# project-1

A minimal [Model Context Protocol](https://modelcontextprotocol.io) (MCP) server built with the `@modelcontextprotocol/sdk`, communicating over stdio.

## Features

### Tools

- **`add_numbers`** — Adds two numbers together.
  - Inputs: `a` (number), `b` (number)
- **`get_github_repo`** — Fetches and lists a GitHub user's repositories.
  - Inputs: `username` (string)

### Resources

- **`apartment_rules`** (`rules:/all`) — Returns the contents of [`src/data/rules.doc`](src/data/rules.doc), a set of apartment rules (safety, noise control, cleanliness, etc.) stored as plain text.

### Prompts

- **`explain_sql`** — Generates a prompt asking for a detailed, plain-English explanation of a given SQL query.
  - Inputs: `sql` (string)

## Requirements

- Node.js
- npm

## Installation

```bash
npm install
```

## Build

Compiles TypeScript (`src/`) to JavaScript (`build/`):

```bash
npm run build
```

## Running

After building, run the server directly:

```bash
node build/index.js
```

The server communicates over stdio, so it's intended to be launched by an MCP client (e.g. Claude Desktop, an IDE extension, or another MCP-compatible host) rather than run standalone.

## Project Structure

```
src/
  index.ts        # Server setup: tools, resources, and prompts
  data/
    rules.doc      # Data backing the apartment_rules resource
build/             # Compiled output (generated by `npm run build`)
```

## Configuration

- **TypeScript**: targets ES2022 with NodeNext modules/resolution and strict mode enabled (see [`tsconfig.json`](tsconfig.json)).
- **Formatting**: Prettier is configured to use tabs with a width of 4 (see [`.prettierrc`](.prettierrc)).