jdra-mcp
Allows previewing, importing, and registering Jira issues into JDRA weekly reports.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@jdra-mcpㅇㅇ고객사 기술지원 이슈 만들고 주간보고에 등록해줘. 내용은 ~~, 2m."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
jdra-mcp
Claude(Claude Code) 로 자연어로 JDRA 이슈를 만들고 주간보고에 등록하는 MCP 서버.
JDRA 기존 REST API 위의 얇은 어댑터로, DB 직접 접근 없이 create/add-only 로만 동작한다.
예)
"Jira PF3-1111 이슈를 JDRA 주간보고에 등록해줘."
"ㅇㅇ고객사 기술지원 이슈 만들고 주간보고에 넣어줘. 오늘 지원했고 내용은 ~~. 2m."
설치 (팀원용 · Claude Code)
세 가지면 됩니다. Node 설치·JSON 편집 불필요 (Claude Code 터미널에 node 있음).
1. 토큰 발급
JDRA 웹 → 환경 설정 → API 토큰 에서 발급하고 복사 (발급 시 1회만 표시).
Jira 시나리오("Jira PF3-... 등록")를 쓰려면 Jira 연동 탭에서 Jira 자격증명도 먼저 등록.
2. 받기 + 설치 (원커맨드)
git clone https://github.com/minssd2/jdra-mcp.git
cd jdra-mcp
./setup.sh jdra_pat_... # 복사한 토큰setup.sh 가 빌드 + Claude Code 등록(user scope) 까지 끝냅니다.
3. 확인 + 사용
새 claude 세션을 열고 /mcp 에서 jdra ✔ Connected 확인 → 대화창에 자연어로 요청.
JDRA 주소는
https://jdra.pcfilter.co.kr로 기본 설정돼 있습니다. 다른 환경이면JDRA_BASE_URL환경변수로 바꿀 수 있습니다.
Related MCP server: Claude Flow MCP
업데이트
cd jdra-mcp && git pull && npm install(새 claude 세션부터 반영)
수동 등록 (setup.sh 대신)
npm install
claude mcp add --scope user -e JDRA_PAT=jdra_pat_... jdra -- node "$(pwd)/dist/index.js"도구
도구 | 설명 |
| 현재 사용자 확인 |
| 이름 → id 조회 |
| 내 주간보고 + 필드셋 목록 |
| Jira 미리보기 / 가져오기 |
| 이슈 생성 (담당자 미지정 시 본인, 제목의 시간 표기 → 작업시간 자동) |
| 주간보고 필드셋에 등록 |
| Jira 가져와 주간보고 등록 |
| 이슈 생성 → 주간보고 등록 |
보안
토큰은 본인 권한으로 동작하며, 할 수 있는 일은 이슈 생성 · 주간보고 등록 · 조회 · Jira 가져오기로 제한됩니다. 계정 설정·수정·삭제·관리자 기능에는 쓸 수 없습니다.
노트북 분실 등으로 토큰이 새면 JDRA 환경설정 → API 토큰에서 즉시 취소하세요.
setup.sh는 토큰을 Claude Code 사용자 설정(~/.claude.json)에 저장합니다. 더 엄격히 관리하려면 토큰을.mcp.json+${JDRA_PAT}환경변수 방식으로 둘 수 있습니다.
문의
풀스택팀 민승기 책임.
Available Tools
12 toolsjdra_add_issue_to_weekly_reportA
이슈를 내 주간보고 issue_list 필드셋에 등록한다. fieldsetName 미지정 시: 필드셋이 하나면 그것, 없으면 기본 필드셋 생성, 여러 개면 지정을 요청.
| Name | Required | Description | Default |
|---|---|---|---|
| issueId | Yes | 등록할 이슈 id | |
| fieldsetName | No | 대상 필드셋 이름 (없으면 자동/기본) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses a meaningful behavioral rule: if fieldsetName is omitted, it uses the only fieldset, creates a default fieldset if none exists, or requests specification if multiple exist. However, with no annotations provided, the description carries the full burden and does not disclose side effects, permissions, or what happens if the weekly report itself does not exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact sentence with the action front-loaded and the conditional rule appended efficiently. Every clause carries useful information and there is no redundant wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 2-parameter tool with no output schema, the description covers the main action and the key edge cases for the optional parameter. It lacks some context such as prerequisites (e.g., whether the issue must already exist or whether a weekly report is required), but the provided detail is sufficient for most invocation scenarios.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters described, but the description adds value beyond the schema by specifying the exact selection behavior for omitted fieldsetName (one, none, or multiple fieldsets). This is not present in the input schema and helps an agent decide whether to provide fieldsetName.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb and resource: registering an issue into '내 주간보고 issue_list 필드셋' (my weekly report issue_list fieldset). It is specific enough to understand the core action, but it does not explicitly differentiate itself from sibling tools like jdra_register_jira_to_weekly_report or jdra_import_jira_issue.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives; no sibling tools are mentioned or contrasted. The conditional logic about fieldsetName is parameter-level guidance, not tool-selection guidance, so it does not help an agent choose between this and related registration tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jdra_create_and_register_issueB
JDRA 이슈를 생성하고 곧바로 내 주간보고에 등록한다. 담당자 미지정 시 자동 본인, 제목의 소요시간(2m 등)은 작업시간(actualMinutes)으로 자동 등록. 두 예시 시나리오 2번(고객사 기술지원 등).
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | 태그 | |
| links | No | 외부 링크 {url, label} | |
| title | Yes | 이슈 제목 (필수) | |
| status | Yes | 상태 (필수) | |
| dueDate | No | 마감 예정일 yyyy-MM-dd | |
| endDate | No | 종료일 yyyy-MM-dd (마감예정일 dueDate 와 별개) | |
| category | Yes | 카테고리 (필수). 기술지원 등은 '지원'. | |
| jiraUrls | No | Jira URL 또는 이슈 키 목록 | |
| priority | Yes | 우선순위 (필수) | |
| progress | No | 진행률 0~100 (%) | |
| startDate | No | 시작일 yyyy-MM-dd | |
| projectIds | No | 연결 프로젝트 id 목록 | |
| customerIds | No | 고객사 id 목록 | |
| description | No | 상세 내용 (본문) | |
| fieldsetName | No | 대상 필드셋 이름 (없으면 자동/기본) | |
| salesUserIds | No | 영업담당자 user id 목록 | |
| actualMinutes | No | 실제 소요 시간(분). 예: '10분' → 10 | |
| assigneeUserId | No | 담당자 user id (생략 시 본인). 아래 역할별 인원과 별개. | |
| productLineIds | No | 제품군 id 목록 | |
| engineerUserIds | No | 엔지니어(담당 엔지니어) user id 목록 | |
| relatedIssueIds | No | 연관 이슈 id 목록 | |
| developerUserIds | No | 개발자 user id 목록 | |
| estimatedMinutes | No | 예상 소요 시간(분) | |
| newCustomerNames | No | 고객사 이름 목록 (없으면 자동 생성). id 몰라도 됨. | |
| stakeholderUserIds | No | 관계자 user id 목록 | |
| newProductLineNames | No | 제품군 이름 목록 (없으면 자동 생성) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden, and it reveals two genuinely hidden behaviors: automatic self-assignment when 담당자 is unspecified, and automatic conversion of a duration token in the title (e.g., '2m') into actualMinutes. These side effects could not be inferred from the schema and materially change how the agent should construct the call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is compact and front-loads the primary action before the auto-behavior notes. However, the final fragment '두 예시 시나리오 2번(고객사 기술지원 등)' is ambiguous and does not earn its place, adding noise for an AI agent without a shared reference point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a 26-parameter, side-effectful combined operation with no annotations and no output schema, yet the description is only three short clauses. It omits what the agent should expect on success (issue ID? report confirmation?), behavior when no weekly report exists, and any prerequisites, leaving a meaningful comprehension gap for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3 and all 26 parameters are already documented in Korean. The description adds some cross-parameter semantics (title duration maps to actualMinutes), but the self-assignee rule is largely duplicated in the schema's assigneeUserId description ('생략 시 본인'), so the added value is modest.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening clause 'JDRA 이슈를 생성하고 곧바로 내 주간보고에 등록한다' states a specific compound action: create a JDRA issue and immediately register it to the caller's weekly report. This differentiates it from overlapping siblings like jdra_create_issue and jdra_add_issue_to_weekly_report, though the trailing '두 예시 시나리오 2번(고객사 기술지원 등)' reference is cryptic and detracts slightly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use guidance or named alternatives are provided, despite heavy overlap with jdra_create_issue and jdra_add_issue_to_weekly_report. The '시나리오 2번' hint is a vague reference to an external example rather than actionable selection criteria, so an agent cannot reliably decide between calling this tool versus composing the two sibling actions separately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jdra_create_issueA
JDRA 이슈를 생성한다. 담당자 미지정 시 자동으로 본인. 제목의 소요시간(예: 2m, 10m, 1h30m)은 actualMinutes(작업시간)로 자동 등록. 고객사·제품군은 이름만으로도 연결(없으면 자동 생성).
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | 태그 | |
| links | No | 외부 링크 {url, label} | |
| title | Yes | 이슈 제목 (필수) | |
| status | Yes | 상태 (필수) | |
| dueDate | No | 마감 예정일 yyyy-MM-dd | |
| endDate | No | 종료일 yyyy-MM-dd (마감예정일 dueDate 와 별개) | |
| category | Yes | 카테고리 (필수). 기술지원 등은 '지원'. | |
| jiraUrls | No | Jira URL 또는 이슈 키 목록 | |
| priority | Yes | 우선순위 (필수) | |
| progress | No | 진행률 0~100 (%) | |
| startDate | No | 시작일 yyyy-MM-dd | |
| projectIds | No | 연결 프로젝트 id 목록 | |
| customerIds | No | 고객사 id 목록 | |
| description | No | 상세 내용 (본문) | |
| salesUserIds | No | 영업담당자 user id 목록 | |
| actualMinutes | No | 실제 소요 시간(분). 예: '10분' → 10 | |
| assigneeUserId | No | 담당자 user id (생략 시 본인). 아래 역할별 인원과 별개. | |
| productLineIds | No | 제품군 id 목록 | |
| engineerUserIds | No | 엔지니어(담당 엔지니어) user id 목록 | |
| relatedIssueIds | No | 연관 이슈 id 목록 | |
| developerUserIds | No | 개발자 user id 목록 | |
| estimatedMinutes | No | 예상 소요 시간(분) | |
| newCustomerNames | No | 고객사 이름 목록 (없으면 자동 생성). id 몰라도 됨. | |
| stakeholderUserIds | No | 관계자 user id 목록 | |
| newProductLineNames | No | 제품군 이름 목록 (없으면 자동 생성) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses key side effects like auto-creating customers/product lines and parsing time from the title, but it does not mention write implications, error conditions, or limitations. It is transparent about the main automations but lacks broader behavioral detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, each conveying distinct valuable information (creation, assignment default, time parsing, customer/product handling). No fluff, well-organized, and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core purpose and important behaviors, but it doesn't mention response format or success/failure outcomes. Given the 25 parameters and no output schema, a bit more detail on expected output would help, yet the description still provides adequate context for basic usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema descriptions are minimal, but the tool description adds significant meaning: it explains that newCustomerNames and newProductLineNames enable auto-creation, that actualMinutes can be derived from the title, and that assigneeUserId defaults to the caller. This goes beyond the schema and enriches parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it creates a JDRA issue and highlights specific automatic behaviors (self-assignment, time parsing, customer/product auto-creation). However, it doesn't explicitly differentiate from related siblings like jdra_create_and_register_issue, so the purpose is clear but not maximally disambiguating.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions features but gives no guidance on when to use this tool over alternatives such as jdra_import_jira_issue or jdra_create_and_register_issue. It lacks explicit use cases or conditions, leaving the agent to infer selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jdra_get_weekly_reportA
내 주간보고와 필드셋 목록을 조회한다(없으면 lazy-create). 어느 필드셋에 이슈를 넣을지 정할 때 참고.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations at all, the description carries the full behavioral burden. It does disclose the most important non-obvious trait — '(없으면 lazy-create)' — warning that this is not purely a read operation and may create the report/field sets if absent. However, it does not describe the response shape or the implications of the lazy-create side effect, which matters because downstream mutation tools depend on this state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact Korean sentence that front-loads the action (조회), then adds the lazy-create caveat, then the usage context. Every word carries information; there is no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter getter with no output schema, the description is largely sufficient: it names what is retrieved, discloses the side-effect behavior, and explains why an agent would call it. The only gap is the lack of any hint about the response structure (field set IDs/names), which would help an agent act on the result, but this is a minor omission for a simple lookup tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4 and there is no parameter gap to compensate for. The description appropriately focuses on what the call returns (the weekly report and field set list) rather than inventing parameter guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (조회한다/retrieves), a specific resource (내 주간보고와 필드셋 목록/my weekly report and field sets), and a distinct purpose (deciding which field set to use for issues). This functionally separates it from the sibling mutation tools like jdra_add_issue_to_weekly_report, but it does so implicitly rather than naming a sibling, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The closing clause '어느 필드셋에 이슈를 넣을지 정할 때 참고' (refer to this when deciding which field set to put issues in) gives a clear when-to-use scenario tied to the weekly-report workflow. It does not explicitly state exclusions or name alternative tools, but the usage context is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jdra_import_jira_issueA
Jira 이슈를 JDRA 이슈로 가져온다(생성). 이미 있으면 기존 issueId 를 재사용(ALREADY_EXISTS).
| Name | Required | Description | Default |
|---|---|---|---|
| keys | Yes | Jira 이슈 키 목록 (예: ["PF3-1111"]) | |
| targetProjectIds | No | 생성될 이슈에 연결할 JDRA 프로젝트 id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It usefully discloses idempotency via '이미 있으면 기존 issueId 를 재사용(ALREADY_EXISTS)', but it omits return shape, permission requirements, and other side effects of creation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact, front-loaded sentence that conveys the core action and the important edge-case behavior without any filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 2-parameter tool, the core purpose and idempotency behavior are present. However, it lacks details about return values, whether targetProjectIds is needed for creation, and any prerequisites, making it adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers both parameters with descriptions, so the baseline is 3. The tool description does not add significant parameter-level meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action: importing/creating a Jira issue as a JDRA issue, and it includes the key ALREADY_EXISTS reuse behavior. This clearly distinguishes it from generic create or preview tools among the siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use case is clear: when a Jira issue should become a JDRA issue. It does not explicitly name alternatives or exclusions, but the context is unambiguous and there is no misleading guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jdra_preview_jira_issueA
Jira 이슈 키로 import 전 미리보기를 가져온다. (예: PF3-1111)
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Jira 이슈 키 (예: PF3-1111) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does not specify whether the operation is read-only, what side effects (if any) occur, or how errors are handled. The term 'preview' hints at non-destructive behavior, but this is not explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that conveys the essential information without redundancy. It is well-structured and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the tool's purpose and parameter but does not mention the output format or content of the preview, nor any prerequisites or edge cases. Given the tool's simplicity, this is adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'key' is fully described with an example format ('PF3-1111'), which clarifies the expected input. While the description is brief, it provides sufficient meaning beyond the schema, earning a high score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: to fetch a preview before import using a Jira issue key. The verb '가져온다' (fetches) and the specific context 'import 전 미리보기' (preview before import) leave no ambiguity about what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for previewing before import but does not explicitly contrast with sibling tools like import_jira_issue or create_issue. It gives an example format, which helps, but lacks explicit guidance on when to choose this tool over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jdra_register_jira_to_weekly_reportC
Jira 이슈를 가져와(import) 곧바로 내 주간보고에 등록한다. 두 예시 시나리오 1번.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Jira 이슈 키 (예: PF3-1111) | |
| fieldsetName | No | 대상 필드셋 이름 (없으면 자동/기본) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden of behavioral disclosure. It does state the core effect (importing and registering into the weekly report), which implies mutation. However, it does not disclose what exactly gets modified, whether the operation is idempotent, what happens if the issue already exists, what side effects occur, or what the response will be.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the primary action, which is good. However, '두 예시 시나리오 1번' is an unclear, context-dependent fragment that does not earn its place and may confuse an agent. The description is concise but not fully self-contained.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations, no output schema, and the existence of closely related sibling tools, the description is too thin for an agent to call this tool confidently. It does not explain prerequisites, return values, error conditions, or how this composite operation differs from the alternative single-purpose tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the structured schema already documents both parameters and the example value for 'key'. The tool description adds no additional parameter semantics beyond what the schema provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action: import a Jira issue and immediately register it in the user's weekly report. This is clear and more specific than just 'import' or 'add'. However, it does not explicitly differentiate itself from sibling tools like jdra_import_jira_issue or jdra_add_issue_to_weekly_report, and the phrase '두 예시 시나리오 1번' adds confusion rather than clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus its alternatives. Sibling tools such as jdra_import_jira_issue, jdra_add_issue_to_weekly_report, and jdra_create_and_register_issue exist, but the description never states conditions, exclusions, or recommended selection criteria. The reference to 'example scenario 1' is not actionable without external context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jdra_search_customersA
고객사를 조회한다(이름→id 해석용). query 로 이름 일부 필터.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | 고객사 이름 일부 (생략 시 전체) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. '조회한다' signals a read-only operation, and '일부 필터' discloses partial matching behavior. However, it does not mention response shape, edge cases, or pagination, which is a moderate gap for a tool without an output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact sentence that front-loads the core purpose and then states the filtering syntax. It has no filler words or repetition of schema details, making it efficient for an agent to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only one optional parameter and no output schema, the description provides sufficient orientation for the expected use case. It indicates the return purpose (name→id mapping) and the filter semantics. It could be more explicit about the exact output structure, but the core calling context is well covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents the 'query' parameter, including its optionality and meaning. The description only restates that the query filters by partial name, adding no new parameter-specific detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('조회한다'), the resource ('고객사'), and a specific intended use case ('이름→id 해석용'). This distinguishes it from sibling search tools like jdra_search_users or jdra_search_projects by naming the entity type and purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase '이름→id 해석용' gives a clear context for when to call this tool: when converting a customer name to an ID. It implies the use case without explicitly naming alternatives, so no explicit exclusions are present, but the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jdra_search_product_linesA
제품군을 조회한다(이름→id 해석용). query 로 이름 일부 필터.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | 제품군 이름 일부 (생략 시 전체) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. It discloses the read-style lookup and partial-name filtering behavior, but it does not describe the return format, matching semantics, or any edge behavior. This is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences front-load the purpose and then state the filtering behavior. There is no filler or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple tool with one optional parameter and no output schema. The description gives the purpose and filter behavior, and the '이름→id 해석용' purpose implies the return context. It lacks explicit return format details, but for this complexity level it is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents the query parameter. The description adds little beyond what the schema states about partial-name filtering, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear action ('제품군을 조회한다') and a specific resource (product lines), with an explicit purpose ('이름→id 해석용'). This differentiates it from sibling search tools for projects, users, and customers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase '이름→id 해석용' implies this tool is for resolving a product line name into an ID, and 'query 로 이름 일부 필터' gives the filtering mechanism. However, it does not explicitly mention alternatives or state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jdra_search_projectsA
프로젝트를 조회한다(이름→id 해석용). query 로 이름 일부 필터.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | 프로젝트 이름 일부 (생략 시 전체) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the disclosure burden. It explicitly describes a read operation and partial-name filtering behavior via query. It does not cover output structure or edge cases, but for a simple lookup this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no filler; the operation and purpose are front-loaded and the filtering parameter is stated succinctly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple: one optional parameter, no output schema, and a clear lookup purpose. The description is complete enough to select and invoke it correctly, though a bit more explicit return-format detail would make it fully self-contained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the query parameter is already described as '프로젝트 이름 일부 (생략 시 전체)'. The description mostly restates this, adding no new parameter-level semantics beyond the name→id purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('프로젝트를 조회한다') and adds the intended purpose '이름→id 해석용', making the tool's role clear. It is distinct from sibling search tools for users, customers, and product lines.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical '(이름→id 해석용)' gives a clear context for when to use the tool: resolving a project name to an ID. It does not explicitly list exclusions or alternatives, but no sibling covers project search.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jdra_search_usersA
사용자를 조회한다(담당자/역할 인원 해석용). query 로 이름/아이디 일부 필터.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | 이름 또는 아이디 일부 (생략 시 전체) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. The verb 'retrieve' implies a read-only operation, but side effects, authentication, or error behavior are not mentioned. It is adequate for a simple search tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no unnecessary detail. It is front-loaded with the main action and purpose, followed by the parameter behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple search tool with one optional parameter, the description provides sufficient context for an agent to decide when to use it and how to invoke it. Output format is not specified, but that is not critical for this tool type.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema describes the query parameter, and the description adds that it filters by partial name/ID and that omission returns all users. This reinforces the parameter's meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves users, and explicitly mentions its purpose for interpreting assignee/role personnel. This distinguishes it from sibling search tools for projects, customers, and product lines.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool (for resolving assignee/role personnel) and the optional query parameter behavior. It does not explicitly contrast with other search tools, but the entity type (users) makes the context clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jdra_whoamiA
현재 PAT 가 어느 JDRA 사용자로 동작하는지 확인한다.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral disclosure burden. It communicates that the action is a read-only identity check via the verb '확인한다', but it does not state side effects, error behavior on invalid PAT, or return format. The description is sufficient for a trivial whoami tool but adds little beyond the purpose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that immediately states the tool's core function with no filler. It is front-loaded and equally concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 0 parameters and no output schema, the description gives enough information to understand what the tool does. It does not specify the return shape, but the purpose strongly implies the result is the user identity, and an agent can discover the actual response upon invocation. Given the simplicity, completeness is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is empty and schema coverage is 100%, so there are no parameters to explain. The baseline for a 0-parameter tool is 4, and the description does not omit any parameter details because none exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb '확인한다' (checks) and clearly states the resource: which JDRA user the current PAT operates as. This distinguishes it from all sibling tools, which focus on projects, reports, issues, or users, none of which are identity checks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for verifying the identity behind a PAT, but it does not explicitly state when to prefer it over alternatives or mention any conditions. There are no close sibling alternatives, so the implied use case is fairly clear, but explicit guidance is absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
12 tool updates
v0.1.0- First observed
jdra_add_issue_to_weekly_report - First observed
jdra_create_and_register_issue - First observed
jdra_create_issue - First observed
jdra_get_weekly_report - First observed
jdra_import_jira_issue - First observed
jdra_preview_jira_issue - First observed
jdra_register_jira_to_weekly_report - First observed
jdra_search_customers - First observed
jdra_search_product_lines - First observed
jdra_search_projects - First observed
jdra_search_users - First observed
jdra_whoami
TDQS
Scored across 12 tools
Several tools have overlapping purposes: jdra_create_issue and jdra_create_and_register_issue (one is a superset of the other), and jdra_import_jira_issue vs jdra_register_jira_to_weekly_report similarly overlap. Descriptions clarify the differences, but an agent could easily misselect when only the atomic action is needed. The search_* tools and whoami are clearly distinct.
All tools share the jdra_ prefix and use snake_case, with a generally predictable verb_noun pattern (search_projects, create_issue, add_issue_to_weekly_report). Minor deviations include jdra_whoami and the compound verb in create_and_register_issue, but overall the naming is consistent and readable.
With 12 tools, the server covers a focused set of operations for JDRA/Jira integration and weekly report management. Each tool serves a specific function or a clearly documented shortcut, and the count is well within the typical 3-15 range for a cohesive MCP server.
The core workflow—searching reference data, previewing/importing Jira issues, creating JDRA issues, and registering them to weekly reports—is well covered. However, there are notable gaps: no get/list/update/delete for imported or created issues, and no way to remove an issue from a weekly report. This limits full lifecycle management within the server.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Create projects, nodes, and tasks in UluP Spaces by conversation with Claude.
Persistent context for Claude. Your AI always knows your projects and next actions across sessions.
Persistent memory for Claude Code and Cursor. Stop re-explaining your project every session.
- platform7nOAuthtech.p7n
Connect Claude to your Platform7n workspaces — chat, links, and tasks. One-click OAuth.
Related MCP Servers
- AlicenseCqualityCmaintenanceEnables AI-powered automated testing, security scanning, code review, and maintenance tasks directly within Claude Code or desktop.124MIT
- FlicenseNot gradedqualityFmaintenanceIntegrates with Claude Code to execute AI-powered code analysis and workflow automation, supporting pre-defined scenarios like code review and security audit.5-
- AlicenseBqualityCmaintenanceEnables natural language interactions with GitLab via Claude Code, supporting MR reviews, issue management, pipeline monitoring, and branch comparisons.37173MIT
- FlicenseAqualityCmaintenanceEnables Claude Code to read and write issues on the Testing Platform via natural language, including listing projects, filtering issues, creating and updating issues, and adding comments.9-