relation-mcp
Enables to interact with Re:lation support tickets via MCP. Allows searching, updating, replying to tickets, and managing customers and internal records.
README
relation-mcp
A Model Context Protocol server for Re:lation (by 株式会社インゲージ). Lets Claude / Claude Code / any MCP client search and triage support tickets, create internal records, and inspect the address book directly from an agent.
Works against the official Re:lation REST API (
https://<tenant>.relationapp.jp/api/v2/). Read the full API reference at developer.ingage.jp.
Features
search_tickets— filter by status, assignee, labels, free-text queryget_ticket/update_ticket— fetch detail, change status/assignee/labelsreply_mail— customer-facing email reply, guarded by aconfirm_send: trueinterlocklist_mail_accounts— discover themail_account_idneeded forreply_mailcreate_record— post an internal 応対メモ (not visible to the customer)create_comment— post a team comment on a ticketsearch_customers/get_customer— address-book lookuplist_labels/list_users— reference data for scripting automations- Built-in token-bucket rate limiter (stays under the 60 req/min tenant limit)
- Typed errors (
RelationApiError,RelationAuthError,RelationRateLimitError)
Safety note on reply_mail
reply_mail sends a real email to the customer on the ticket. To keep agents from accidentally firing it during tool chaining, the tool requires a confirm_send: true parameter — if missing or false, the call is rejected before hitting the Re:lation API. Use it deliberately.
Install
npm install -g relation-mcp
# or run ad-hoc with npx
npx relation-mcp
Configure
Generate an access token in Re:lation (admin UI → API token), then export:
export RELATION_SUBDOMAIN=yourtenant # the part before .relationapp.jp
export RELATION_MESSAGE_BOX_ID=1 # default 受信箱 ID
export RELATION_ACCESS_TOKEN=your_token_here
A copy of .env.example is included for reference.
Use with Claude Code / Claude Desktop
Add this to your MCP config (e.g. ~/.claude/config.json or the Claude Desktop config):
{
"mcpServers": {
"relation": {
"command": "npx",
"args": ["-y", "relation-mcp"],
"env": {
"RELATION_SUBDOMAIN": "yourtenant",
"RELATION_MESSAGE_BOX_ID": "1",
"RELATION_ACCESS_TOKEN": "your_token_here"
}
}
}
}
Then prompt the agent:
Find tickets where status is open and the subject contains "本人確認", then summarize the top 5.
Tool reference
All tools accept an optional message_box_id to override the default for a single call.
| Tool | Purpose |
|---|---|
search_tickets |
POST /tickets/search — status, assignee, label, color, free text |
get_ticket |
GET /tickets/{id} |
update_ticket |
PUT /tickets/{id} — status, assignee, labels, color, pending reason |
reply_mail |
POST /mails/reply — customer-facing reply (requires confirm_send: true) |
list_mail_accounts |
GET /mail_accounts — lookup mail_account_id |
create_record |
POST /records — internal 応対メモ |
create_comment |
POST /comments — internal team comment |
search_customers |
POST /customers/search — address-book search |
get_customer |
GET /customers/{id} |
list_labels |
GET /labels |
list_users |
GET /users |
Development
git clone https://github.com/sewon-supernova/relation-mcp.git
cd relation-mcp
npm install
npm run typecheck
npm test
npm run build
Run locally against a real tenant:
cp .env.example .env # fill in values
npm run build
node dist/index.js # speaks MCP over stdio
Roadmap
- [ ]
list_message_boxes - [ ]
list_pending_reasons/list_case_categories - [ ] Pagination helpers (auto-iterate
page) - [ ] Prompt templates (MCP
prompts/*) for common triage flows - [ ] E2E tests against a staging tenant
- [ ] Docker image
License
MIT — see full text.
Not affiliated with 株式会社インゲージ
This is an unofficial, community-maintained client. "Re:lation" and "relationapp.jp" are trademarks of their respective owners.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.