Skip to content

eraga/hub-mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hub MCP Server

License: MIT TypeScript MCP

MCP server for JetBrains Hub giving AI assistants (Claude Code, VSCode, Continue.dev, Cursor) safe, tool-based access to user management, groups, projects, services, roles, and permissions.

Compatible with Hub 2020.1+

Sponsored by Eraga


Quick Start

git clone https://github.com/eraga/hub-mcp.git
cd hub-mcp
npm install
cp .env.example .env      # configure HUB_URL + HUB_TOKEN or OAuth2
npm run build
npm start                 # stdio MCP server

Features

Domain Capabilities
Users List, search, get details, ban/unban, manage group membership
Groups CRUD operations, member management, auto-join configuration
Projects Create, update, archive, resource management
Services OAuth2 client management, secret regeneration
Roles Role CRUD, permission assignment
Permissions List and filter permissions by service
Auth Token + OAuth2/SSO support

Configuration

Token Authentication (Simple)

HUB_URL=https://hub.example.com
HUB_TOKEN=perm:your-permanent-token
LOG_LEVEL=info

OAuth2/SSO Authentication

HUB_URL=https://hub.example.com
HUB_PREFER_OAUTH2=true
HUB_CLIENT_ID=your-hub-service-uuid
HUB_CLIENT_SECRET=your-secret
HUB_CALLBACK_PORT=8080
Variable Required Description
HUB_URL Hub base URL (without /api or /hub suffix)
HUB_TOKEN ✅* Permanent token (*not required if using OAuth2)
HUB_PREFER_OAUTH2 Enable OAuth2 flow
HUB_CLIENT_ID OAuth2 client ID (Hub Service UUID)
HUB_CLIENT_SECRET OAuth2 client secret
HUB_CALLBACK_PORT OAuth2 callback port (default: 8080)
LOG_LEVEL error/warn/info/debug (default: info)

MCP Client Integration

Claude Code CLI

claude mcp add hub-mcp \
  --env HUB_URL=https://hub.example.com \
  --env HUB_TOKEN=perm:your-token \
  --scope user \
  -- node /path/to/hub-mcp/dist/index.js

With OAuth2/SSO

claude mcp add hub-mcp \
  --env HUB_URL=https://hub.example.com \
  --env HUB_PREFER_OAUTH2=true \
  --env HUB_CLIENT_ID=your-hub-service-uuid \
  --env HUB_CLIENT_SECRET=your-secret \
  --env HUB_CALLBACK_PORT=8080 \
  --scope user \
  -- node /path/to/hub-mcp/dist/index.js

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "hub": {
      "command": "node",
      "args": ["/abs/path/hub-mcp/dist/index.js"],
      "env": {
        "HUB_URL": "https://hub.example.com",
        "HUB_TOKEN": "perm:your-token"
      }
    }
  }
}

Tool Reference

users

Manage Hub users.

Action Description Required Args
list List all users
get Get user details userId
search Search users query
me Get current user
ban Ban a user userId
unban Unban a user userId
groups Get user's groups userId
add_to_group Add user to group userId, groupId
remove_from_group Remove from group userId, groupId

groups

Manage user groups.

Action Description Required Args
list List all groups
get Get group details groupId
search Search groups query
create Create group name
update Update group groupId
delete Delete group groupId
members List members groupId
add_member Add member groupId, userId
remove_member Remove member groupId, userId

projects

Manage Hub projects.

Action Description Required Args
list List all projects
get Get project details projectId
create Create project name
update Update project projectId
delete Delete project projectId
archive Archive project projectId
unarchive Unarchive project projectId
resources List resources projectId

services

Manage OAuth2 services/clients.

Action Description Required Args
list List all services
get Get service details serviceId
hub Get Hub service
create Create service name
update Update service serviceId
delete Delete service serviceId
regenerate_secret New secret serviceId

roles

Manage roles and permissions.

Action Description Required Args
list List all roles
get Get role details roleId
create Create role name
update Update role roleId
delete Delete role roleId
permissions Role permissions roleId
add_permission Add permission roleId, permissionId
remove_permission Remove permission roleId, permissionId
list_permissions List all perms

auth

Authentication status.

Action Description
status Check authentication
test Test connection

Development

npm install
npm run dev          # watch mode
npm run build        # compile
npm run lint         # eslint
npm run type-check   # types

License

MIT © 2025 Eraga

About

MCP server for JetBrains Hub - manage users, groups, permissions, and services via AI assistants (Hub 2020.1+ compatible)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors