manoj-mcp
by nfs-mym
README.md
# Manoj's Personal MCP Server
Remote MCP server giving Claude access to Jira, Confluence, Gmail, Drive, and Slack — from any device including phone.
## Tools included
| Tool | What it does |
|------|-------------|
| `jira_create_ticket` | Create a Jira issue with summary, description, priority, labels |
| `jira_search` | Search issues by plain English or JQL |
| `jira_get_issue` | Get full details of any issue |
| `jira_transition` | Move issue to new status (In Progress, Done, etc.) |
| `jira_add_comment` | Add a comment to any issue |
| `jira_my_issues` | Get all your open issues |
| `confluence_search` | Search pages by keyword |
| `confluence_get_page` | Read full page content |
| `confluence_create_page` | Create a new page in any space |
| `gmail_search` | Search email threads |
| `gmail_read_thread` | Read a full email thread |
| `gmail_create_draft` | Create a draft (does not send) |
| `gmail_unread_count` | Get unread inbox count |
| `drive_search` | Search Drive files by name or content |
| `drive_read_doc` | Read a Google Doc's content |
| `drive_list_folder` | List files in a folder |
| `slack_search` | Search messages across all channels |
| `slack_read_channel` | Read recent messages in a channel |
| `slack_find_channel` | Find a channel ID by name |
| `slack_send_message` | Send a message to a channel |
---
## Deploy to Railway (free, ~15 minutes)
### Step 1 — Push to GitHub
```bash
cd manoj-mcp
git init
git add .
git commit -m "initial commit"
```
Then create a new repo on github.com (name it `manoj-mcp`, private) and:
```bash
git remote add origin https://github.com/YOUR_USERNAME/manoj-mcp.git
git push -u origin main
```
### Step 2 — Deploy on Railway
1. Go to [railway.app](https://railway.app) → Sign in with GitHub
2. Click **New Project** → **Deploy from GitHub repo** → select `manoj-mcp`
3. Railway auto-detects Node.js and deploys. Wait ~2 minutes.
4. Go to **Settings → Networking** → click **Generate Domain** → copy your URL e.g. `https://manoj-mcp-production.up.railway.app`
### Step 3 — Set environment variables in Railway
Go to your service → **Variables** tab → add all from `.env.example`:
| Variable | Where to get it |
|----------|----------------|
| `MCP_AUTH_TOKEN` | Make up a long random string — use a password generator |
| `JIRA_DOMAIN` | `prathamdigitalteam.atlassian.net` |
| `JIRA_EMAIL` | `manoj.mahale@pratham.org` |
| `JIRA_API_TOKEN` | [id.atlassian.com/manage-profile/security/api-tokens](https://id.atlassian.com/manage-profile/security/api-tokens) |
| `GMAIL_ACCESS_TOKEN` | See below |
| `SLACK_BOT_TOKEN` | See below |
**Getting GMAIL_ACCESS_TOKEN:**
1. Go to [developers.google.com/oauthplayground](https://developers.google.com/oauthplayground)
2. Select scopes: `Gmail API v1` (gmail.readonly, gmail.compose) + `Drive API v3` (drive.readonly) + `Google Docs API v1` (documents.readonly)
3. Click Authorize → Exchange for tokens → copy Access Token
4. Note: access tokens expire in 1 hour. For permanent access you'll need OAuth refresh flow — we'll set that up next.
**Getting SLACK_BOT_TOKEN:**
1. Go to [api.slack.com/apps](https://api.slack.com/apps) → Create New App → From Scratch
2. Name: `Manoj MCP` → pick your workspace
3. Go to **OAuth & Permissions** → Bot Token Scopes → add: `channels:read`, `channels:history`, `search:read`, `chat:write`
4. Click **Install to Workspace** → copy **Bot User OAuth Token** (starts with `xoxb-`)
### Step 4 — Test
```bash
curl https://your-railway-url.railway.app/health
# Should return: {"status":"ok","service":"manoj-mcp"}
curl -H "Authorization: Bearer YOUR_TOKEN" https://your-railway-url.railway.app/sse
# Should open SSE stream
```
### Step 5 — Connect in Claude.ai on phone
1. Open Claude.ai on phone → Settings → MCP Servers (or Integrations)
2. Add new server:
- URL: `https://your-railway-url.railway.app/sse`
- Auth: Bearer `YOUR_MCP_AUTH_TOKEN`
3. Save → you'll see all 20 tools available
---
## Local development
```bash
npm install
cp .env.example .env
# Fill in .env values
npm run dev
```
Server runs on `http://localhost:3000`