Skip to main content
Glama

DevMemory MCP

Git 커밋과 코드 변경 이력을 MCP로 분석해, 개발자가 언제 어떤 기능을 만들었고 무엇이 남았는지 자동으로 기억해주는 개발 작업 메모리 서버입니다.

Jira는 계획과 협업 관리에 강하지만, 실제 코드 변경 맥락을 자동으로 이해하지는 못합니다.
DevMemory MCP는 Git diff와 코드 변경 흐름을 분석해 Jira에 기록되지 않은 실제 개발 과정을 자동으로 복원합니다.

기능 (MCP Tools)

Tool

설명

get_commit_timeline

기간별 커밋 타임라인

summarize_commit

diff 기반 커밋 요약 (커밋 메시지 무관)

get_work_session

하루 단위 작업 세션 / 작업일지

find_unfinished_tasks

TODO/FIXME/미구현 코드 탐지

generate_dev_report

일간/주간 개발 보고서

resume_last_work

마지막 작업 맥락 + 다음 할 일 추천

list_projects

등록된 프로젝트 목록

search_all_projects

여러 프로젝트 한 번에 검색

Related MCP server: KeepGoing MCP Server

여러 프로젝트 한 번에 검색

프로젝트 등록 — devmemory.projects.json

{
  "projects": [
    { "name": "summet", "repoPath": "C:/Users/user/summet" },
    { "name": "backend", "repoPath": "C:/Users/user/my-backend" }
  ]
}

Cursor MCP env로도 가능: DEVMEMORY_PROJECTS=summet=C:/path,backend=C:/path2

search_all_projects 모드

mode

설명

timeline

모든 프로젝트 커밋 시간순 통합

daily

특정 날짜 전 프로젝트 작업일지

unfinished

전 프로젝트 TODO/FIXME

overview

프로젝트별 최근 현황

질문 예시

등록된 모든 프로젝트에서 어제 내 작업 search_all_projects daily로 알려줘
summet, backend만 projectNames로 지난 7일 timeline 검색해줘

설치

cd git_report
npm install
npm run build

Public GitHub URL (AWS / PlayMCP 배포용)

GitHub 로그인은 필요 없습니다. public 저장소는 서버가 직접 clone합니다.

모든 tool에 repoUrl 파라미터 사용:

repoUrl: https://github.com/facebook/react

PlayMCP/ChatGPT에서 자연어 질문 예:

https://github.com/facebook/react 저장소 지난 7일 커밋 타임라인 분석해줘

AI가 get_commit_timeline tool을 repoUrl과 함께 호출합니다. 사용자 GitHub 로그인 불필요.

대상

필요한 로그인

PlayMCP에서 질문

카카오 계정 (PlayMCP 로그인)

Public GitHub repo 분석

없음

Private GitHub repo

지원 안 함

AWS 배포 (PlayMCP 등록용)

PlayMCP는 HTTP Endpoint URL이 필요합니다 (/mcp).

npm run build
docker build -t devmemory-mcp .
docker run -p 8080:8080 devmemory-mcp
# Health: http://localhost:8080/health
# MCP:    http://localhost:8080/mcp

AWS ECS/EC2/App Runner에 배포 후 HTTPS URL을 PlayMCP 콘솔에 등록:

  1. https://playmcp.kakao.com/console 접속 (카카오 로그인)

  2. 새 MCP 서버 등록 → Endpoint: https://your-aws-domain.com/mcp

  3. 임시 등록으로 PlayMCP 웹에서 테스트

  4. 완료 후 등록 및 심사 요청 → 전체 공개 → 공모전 응모

공모전 FAQ: 예선은 카카오 클라우드 MCP Endpoint 권장. AWS도 HTTP MCP 서버면 등록 가능하나, 공모전 페이지에서 카카오클라oud Endpoint 요건을 확인하세요.

Cursor MCP 설정 (로컬 개발)

Cursor Settings → MCP → mcp.json에 추가:

{
  "mcpServers": {
    "devmemory": {
      "command": "node",
      "args": [
        "C:/Users/user/kakao_ai/git_report/dist/index.js"
      ]
    }
  }
}

개발 중에는 tsx로도 실행 가능:

{
  "mcpServers": {
    "devmemory": {
      "command": "npx",
      "args": [
        "tsx",
        "C:/Users/user/kakao_ai/git_report/src/index.ts"
      ],
      "cwd": "C:/Users/user/kakao_ai/git_report"
    }
  }
}

사용 예시 (Cursor에서 질문)

이 저장소에서 어제 내가 어떤 작업을 했는지 DevMemory MCP로 분석해줘.
지난 7일 동안 커밋을 분석해서 주간 개발 보고서를 만들어줘.
repoPath는 C:/Users/user/myproject 야.
최근 커밋을 보고 내가 마지막으로 작업하던 기능과 다음에 해야 할 일을 알려줘.
최근 변경된 파일 중 미완성 작업이나 TODO가 있는지 찾아줘.
이 커밋(abc1234)이 실제로 어떤 기능을 수정한 건지 diff 기반으로 요약해줘.

프로젝트 구조

git_report/
├── src/
│   ├── index.ts          # MCP 서버 진입점
│   ├── git.ts            # Git 명령 래퍼
│   ├── analyzer.ts       # diff 분석 / 분류 / 보고서 생성
│   ├── types.ts
│   └── tools/
│       ├── getCommitTimeline.ts
│       ├── summarizeCommit.ts
│       ├── getWorkSession.ts
│       ├── findUnfinishedTasks.ts
│       ├── generateDevReport.ts
│       └── resumeLastWork.ts
├── package.json
└── tsconfig.json

PlayMCP 공모전 제출용 한 줄 소개

DevMemory MCP는 Cursor와 Git 저장소를 연결해 개발자의 코드 변경 흐름을 자동 기록·분석하고, 작업 타임라인, 기능별 변경 요약, 미완성 작업, 주간 보고서를 생성하는 개발자용 AI 작업 기억 도구입니다.

라이선스

MIT

Available Tools

9 tools
explain_code_changesC
Read-onlyIdempotent

Explains which file, function, and lines changed and their purpose via DevMemory(데브메모리).

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNo특정 날짜의 모든 커밋 분석 (YYYY-MM-DD)
sinceNo기간 필터 (commitHash/date 없을 때)
repoUrlNoPublic GitHub 저장소 URL (예: https://github.com/facebook/react). AWS/PlayMCP 배포 시 사용. 로그인 불필요.
filePathNo특정 파일만 필터 (예: payment_service.py)
repoPathNo로컬 Git 저장소 경로. Cursor 로컬 개발 시 사용.
commitHashNo특정 커밋 분석
maxCommitsNo분석할 최대 커밋 수

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the tool as read-only, open-world, idempotent, and non-destructive. The description adds minimal behavioral context beyond that, only mentioning 'via DevMemory' without explaining what that entails (e.g., external service calls, data access, or limitations).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that is front-loaded with the purpose and contains no redundant wording. The parenthetical 'DevMemory(데브메모리)' is slightly unnecessary but does not detract from conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 7 parameters, no required fields, and no output schema, the description is insufficiently contextual. It doesn't explain how parameters should be combined (e.g., repoUrl vs repoPath, date vs since), nor what the output representation looks like. The schema partially covers parameter meaning but not overall usage context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers 100% of parameters with descriptions, so the baseline is 3. The description itself adds no parameter semantics—it doesn't clarify which parameters to use together or provide any details beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with a specific verb ('explains') and concrete details (which file, function, and lines changed, plus their purpose). However, it does not explicitly distinguish this tool from sibling tools like 'summarize_commit', which may overlap in functionality.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description only outlines what the tool does, not when it should be invoked, leaving the agent to infer usage from the schema and sibling context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_unfinished_tasksA
Read-onlyIdempotent

Detects TODO, FIXME, and unimplemented markers via DevMemory(데브메모리).

ParametersJSON Schema
NameRequiredDescriptionDefault
sinceNo최근 변경 파일 필터 시작일
repoUrlNoPublic GitHub 저장소 URL (예: https://github.com/facebook/react). AWS/PlayMCP 배포 시 사용. 로그인 불필요.
repoPathNo로컬 Git 저장소 경로. Cursor 로컬 개발 시 사용.

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, covering the safety profile. The description adds that detection happens 'via DevMemory', but doesn't disclose other behavioral aspects like scope or return behavior. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, compact sentence that is front-loaded with the main action and object. Every word earns its place, with no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple and schema/annotations are rich, but there is no output schema and the description doesn't explain what the tool returns or what 'unfinished tasks' looks like in practice. This leaves a minor gap in understanding the tool's output.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with each parameter documented. The description adds no additional parameter semantics beyond what the schema already 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Detects') and specifies the resource (TODO, FIXME, unimplemented markers), clearly distinguishing it from sibling tools that focus on projects, commits, and reports. The name and description align well.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage—detecting unfinished tasks—but provides no explicit when/when-not guidance or mention of alternatives. Since no sibling tool directly overlaps, the implied context is somewhat sufficient, but explicit guidance is lacking.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_dev_reportB
Read-onlyIdempotent

Generates a daily/weekly dev report from commits and diffs via DevMemory(데브메모리).

ParametersJSON Schema
NameRequiredDescriptionDefault
sinceYes보고서 시작일 (YYYY-MM-DD)
untilNo보고서 종료일
formatNo
repoUrlNoPublic GitHub 저장소 URL (예: https://github.com/facebook/react). AWS/PlayMCP 배포 시 사용. 로그인 불필요.
repoPathNo로컬 Git 저장소 경로. Cursor 로컬 개발 시 사용.

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the agent knows this is a safe read operation. The description adds useful context about the DevMemory (데브메모리) source and the daily/weekly format, but does not disclose output details or limitations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that front-loads the verb and resource. It avoids fluff and provides essential information without unnecessary detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description should explain what the report looks like or how it is returned. It also lacks guidance on parameter selection for different environments (repoUrl vs repoPath), which is a significant gap given the tool has 5 parameters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 80% (4 of 5 params have descriptions), so the schema already provides most parameter meaning. The description adds 'daily/weekly' which aligns with the format enum, but does not explain the distinction between repoUrl and repoPath or provide example usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb ('Generates') and resource ('dev report'), and specifies the data source ('commits and diffs'). This distinguishes it from sibling tools like get_commit_timeline or summarize_commit, which focus on individual commits or timelines.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when to use this tool versus alternatives like get_commit_timeline or summarize_commit. The description does not mention prerequisites (e.g., having a git repo) or scenarios where a simpler tool might be more appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_commit_timelineA
Read-onlyIdempotent

Fetches commit timeline from a local repo or public GitHub URL via DevMemory(데브메모리).

ParametersJSON Schema
NameRequiredDescriptionDefault
sinceNo시작 날짜 (예: 2025-07-01, 7 days ago)
untilNo종료 날짜
repoUrlNoPublic GitHub 저장소 URL (예: https://github.com/facebook/react). AWS/PlayMCP 배포 시 사용. 로그인 불필요.
maxCountNo최대 커밋 수 (기본 50)
repoPathNo로컬 Git 저장소 경로. Cursor 로컬 개발 시 사용.
authorNameNoauthor name 필터
authorEmailNoauthor email 필터

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only and idempotent behavior, so the description does not need to restate those. It adds meaningful context by mentioning 'local repo or public GitHub URL via DevMemory', clarifying the two distinct data sources and the integration mechanism. This goes beyond the structured annotations and helps set expectations about tool scope.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence that front-loads the verb and resource, then adds key context in minimal words. There is no redundancy, and every piece of information earns its place. It is easy for an agent to parse and act on.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only fetch tool with no required parameters and a fully documented schema, the description provides adequate situational context (local vs remote sources) and does not need to detail return formats, as the output is self-explanatory as a commit timeline. The lack of output schema is compensated by the simplicity of the tool's purpose. The sibling list offers additional context, but the description is sufficient on its own.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, meaning all 7 parameters have detailed descriptions including examples and usage notes. The main description adds no additional parameter-level semantics; it merely refers to 'local repo' and 'public GitHub URL', which is already implied by repoPath and repoUrl parameters. The schema does the heavy lifting, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool fetches 'commit timeline', specifying both local and public GitHub URL sources. This differentiates it from siblings like summarize_commit or explain_code_changes, which analyze rather than retrieve. The action verb 'Fetches' and resource 'commit timeline' are precise and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool (for fetching commit history from local or public GitHub) but does not explicitly contrast it with alternatives. Sibling tools exist for different tasks (e.g., summarize_commit for summarization), yet no direct 'use this instead of...' guidance is given. The schema descriptions provide some contextual hints, but the main description lacks explicit exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_work_sessionA
Read-onlyIdempotent

Groups commits on a given date into work sessions via DevMemory(데브메모리).

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes조회 날짜 (YYYY-MM-DD)
repoUrlNoPublic GitHub 저장소 URL (예: https://github.com/facebook/react). AWS/PlayMCP 배포 시 사용. 로그인 불필요.
repoPathNo로컬 Git 저장소 경로. Cursor 로컬 개발 시 사용.

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark it read-only and idempotent; the description adds that it operates via DevMemory and is scoped to a single date. It does not disclose return shape or edge cases, but it does not contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one focused sentence that front-loads the action and scope. No filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While the schema and annotations cover safety and parameters, the description lacks output-shape details and guidance on repo selection. For a read-only aggregation tool with no output schema, this is adequate but leaves gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema descriptions cover all three parameters, including date format and the purpose of repoUrl versus repoPath. The tool description adds no further parameter detail, so a baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific action: grouping commits on a given date into work sessions. It distinguishes this tool from siblings like get_commit_timeline or summarize_commit by focusing on session-level aggregation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when daily work-session aggregation is needed but provides no explicit when-to-use or alternative guidance. It does not mention cases where get_commit_timeline or other siblings would be more appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_projectsA
Read-onlyIdempotent

Returns registered Git projects for DevMemory(데브메모리). Reads devmemory.projects.json or DEVMEMORY_PROJECTS env.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false. The description adds value by revealing the data source (devmemory.projects.json or DEVMEMORY_PROJECTS env), which is useful for understanding configuration dependency. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded with the core action and resource. The Korean parenthetical is brief and adds product context without waste. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with no params, the description covers the primary purpose and data source. It does not detail the return shape, but the phrase 'returns registered Git projects' implies a list of project objects. Given no output schema, this is adequate, though a brief note on return format would be slightly better.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

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. Description correctly avoids parameter details. Schema coverage is vacuous at 100%, so no compensation needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's action ('Returns') and resource ('registered Git projects for DevMemory'). It mentions the data source, which adds specificity. However, it does not explicitly differentiate from the sibling 'search_all_projects', though the name 'list_projects' implies listing vs searching.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. The description says what it reads, but does not state conditions like 'use to get all registered projects' or 'prefer search_all_projects when filtering'. The context is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

resume_last_workA
Read-onlyIdempotent

Restores last work context and suggests next steps via DevMemory(데브메모리).

ParametersJSON Schema
NameRequiredDescriptionDefault
repoUrlNoPublic GitHub 저장소 URL (예: https://github.com/facebook/react). AWS/PlayMCP 배포 시 사용. 로그인 불필요.
repoPathNo로컬 Git 저장소 경로. Cursor 로컬 개발 시 사용.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false, so the safety profile is clear. The description adds context about the mechanism ('via DevMemory') and the action of suggesting next steps, but does not disclose how 'last work' is determined or any limitations. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that conveys the core functionality without unnecessary words. It is efficiently written and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only tool with two optional parameters and no output schema, the description is adequate. It states the main purpose and outcome (restores context, suggests next steps), but could be more specific about return format or required inputs. Given the annotations and schema, it is reasonably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for both repoUrl and repoPath, so the baseline is 3. The description does not add any parameter-specific meaning beyond what is already in the schema; it only mentions the overall operation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Purpose is clear: 'Restores last work context and suggests next steps' gives a specific verb (restore/suggest) and resource (last work context). It distinguishes from siblings like list_projects or get_commit_timeline, though it could more explicitly contrast with get_work_session or find_unfinished_tasks which are related to work state.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when you want to resume previous work, but gives no explicit guidance on when to use this versus sibling tools, nor exclusions. There is no mention of prerequisites like needing an existing memory entry or how repoUrl/repoPath should be chosen.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_all_projectsA
Read-onlyIdempotent

Searches multiple Git projects at once via DevMemory(데브메모리). Modes: timeline, daily, unfinished, overview.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNodaily 모드용 날짜 (YYYY-MM-DD)
modeNo검색 모드 (기본: timeline)
sinceNo시작 날짜
untilNo종료 날짜
projectsNo검색할 프로젝트 목록 (미지정 시 등록된 프로젝트 전체)
authorNameNo커밋 author name 필터
authorEmailNo커밋 author email 필터
projectNamesNo등록된 프로젝트 중 특정 이름만 필터 (예: ["summet", "backend"])
maxCountPerProjectNo프로젝트당 최대 커밋 수

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds mode names, but these are also present in the schema enum. It does not disclose return format, rate limits, or other behavioral traits beyond what annotations already imply.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise: two short sentences, front-loaded with the core action. The mode enumeration is slightly redundant but not wasteful, maintaining high efficiency.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 9 parameters and no output schema, this description is too sparse. It does not explain what the tool returns or how different modes affect output. The schema handles parameter details, but high-level behavior and result context are missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with all 9 parameters documented in detail. The description adds no extra parameter semantics beyond what the schema provides, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Searches') and resource ('multiple Git projects at once'), differentiating from siblings that likely focus on single projects. The mode list adds specificity without ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'at once' implies use for cross-project searches, but there is no explicit guidance on when to prefer this over siblings like get_commit_timeline or find_unfinished_tasks. No exclusion criteria or alternative comparisons are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

summarize_commitA
Read-onlyIdempotent

Analyzes commit diff and returns feature classification via DevMemory(데브메모리).

ParametersJSON Schema
NameRequiredDescriptionDefault
repoUrlNoPublic GitHub 저장소 URL (예: https://github.com/facebook/react). AWS/PlayMCP 배포 시 사용. 로그인 불필요.
repoPathNo로컬 Git 저장소 경로. Cursor 로컬 개발 시 사용.
commitHashYes분석할 커밋 해시

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds 'via DevMemory' indicating external service dependency, but no further behavioral context like rate limits or failure modes. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded with the core action and output. No wasted words; every element contributes to understanding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity (3 params, 1 required) and strong annotations (read-only, idempotent), the description is nearly sufficient. It clarifies the return type (feature classification) but does not explain what the classification contains or how to handle repoUrl vs repoPath selection. Still, for a simple tool with full schema coverage, this is adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with all parameters described (repoUrl, repoPath, commitHash). The tool description adds no parameter-specific meaning beyond the schema, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Analyzes') and resource ('commit diff'), and states the output ('feature classification via DevMemory'). It clearly distinguishes from siblings like get_commit_timeline or explain_code_changes by focusing on classification.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. Sibling tools like explain_code_changes could plausibly overlap, but the description does not address selection criteria or exclusions.

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. Dates show when Glama detected each change.

  1. 9 tool updatesv1.0.0
    • First observedexplain_code_changes
    • First observedfind_unfinished_tasks
    • First observedgenerate_dev_report
    • First observedget_commit_timeline
    • First observedget_work_session
    • First observedlist_projects
    • First observedresume_last_work
    • First observedsearch_all_projects
    • First observedsummarize_commit

TDQS

A3.6/5.0
Disambiguation3/5

Tools like search_all_projects (timeline mode) and get_commit_timeline both retrieve commit timelines, and summarize_commit and explain_code_changes both analyze a commit's diff, which could cause confusion. However, each tool has a distinct primary purpose (searching vs fetching, summarizing vs explaining), and descriptions provide context.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern with snake_case: list_projects, search_all_projects, get_commit_timeline, etc. This makes it easy to predict behavior from the name.

Tool Count5/5

9 tools is well within the typical range for a domain-specific server. Each tool addresses a distinct aspect of Git analysis and reporting, so none feel redundant.

Completeness4/5

The tool surface covers the full workflow: project discovery, searching, timeline retrieval, commit analysis, work session grouping, TODO detection, report generation, and context restoration. Minor omissions like a direct diff fetcher or project management actions are acceptable given the server's read-only analysis focus.

Maintenance

ActivitySlowing
ResponsivenessNo issues

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

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/KIMHYUNWOO313/devmemory-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server