Work Integrations MCP
This is a small MCP server that exposes tools for multiple work systems (Jira now, with Slack/GitHub and others planned).
Current tools
jira_get_issue- Fetch a Jira issue by keyjira_search- Search Jira using JQLslack_get_message_by_url- Fetch a Slack message by URLslack_get_channel_history- Fetch recent Slack messagesslack_find_channel- Resolve channel name to IDslack_find_user- Resolve user by email or display name
Setup
-
Install dependencies:
npm install
-
Configure environment variables (examples):
JIRA_BASE=https://company.atlassian.netJIRA_EMAIL=you@company.comJIRA_TOKEN=your_api_tokenJIRA_API_VERSION=3SLACK_TOKEN=xoxb-your-slack-bot-token
-
Register the MCP server in Cursor (
~/.cursor/mcp.json):{ "mcpServers": { "work-integrations-mcp": { "command": "npx", "args": [ "tsx", "/ABS/PATH/jira-mcp/server.ts" ], "env": { "JIRA_BASE": "https://company.atlassian.net", "JIRA_EMAIL": "you@company.com", "JIRA_TOKEN": "your_api_token", "JIRA_API_VERSION": "3", "SLACK_TOKEN": "xoxb-your-slack-bot-token" } } } } -
Restart Cursor.
Usage examples
- "Use
jira_get_issuewith keyCVR-248" - "Search Jira with JQL:
project = CVR ORDER BY updated DESC" - "Use
slack_get_message_by_urlwith urlhttps://..." - "Use
slack_get_channel_historywith channelgeneral" - "Use
slack_find_userwith emailuser@company.com"
Slack setup notes
Create a Slack App and install it in your workspace. Minimum scopes for public channels:
channels:readchannels:historyusers:readusers:read.email
For private channels, add:
groups:readgroups:history
Extending
Add new tools for Slack, GitHub, or other services by adding a new folder
under services/ and registering the module in server.ts:
- Create
services/<service>/client.tsfor auth + API calls - Create
services/<service>/tools.tsexporting aToolModule - Import the module in
server.tsand pass it tomergeToolModules - Add any new env variables in the Cursor MCP config if needed
Keep the tool names stable so existing prompts continue to work.