Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

filesystem, memory: descriptions don't say how to choose between list_directory / list_directory_with_sizes and delete_entities / delete_relations

Đang mở Phù hợp với người mới
#5,071 4 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
75/100
Loại issue
Tài liệu
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
typescript
Lĩnh vực
documentation

Hướng nghiên cứu

Bắt đầu trong src/filesystem và src/memory bằng cách đọc định nghĩa của bốn công cụ được nêu và kiểm tra hành vi đã được triển khai. Chỉ cập nhật mô tả của chúng, giữ nguyên tên và schema, sao cho mỗi mô tả giải thích khi nào nên dùng công cụ đó và khi nào nên chọn công cụ cùng nhóm thay thế. Công việc hoàn tất khi các mô tả phân biệt chính xác các công cụ mà không khẳng định hành vi mà mã nguồn không triển khai.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

enhancement v2
Which server?

More than one server (filesystem and memory)

Protocol era

Both, or not era-specific

MCP client

Any. The issue is in the tool descriptions that every client shows the model.

The problem

Two pairs of tools have descriptions so alike that a model can't tell which one to call.

filesystem (2026.8.31): list_directory and list_directory_with_sizes

The descriptions are the same sentence for sentence. They differ only by ", including sizes" and "essential" vs "useful":

list_directory: Get a detailed listing of all files and directories in a specified path. Results clearly distinguish between files and directories with [FILE] and [DIR] prefixes. This tool is essential for understanding directory structure and finding specific files within a directory. Only works within allowed directories.

list_directory_with_sizes: Get a detailed listing of all files and directories in a specified path, including sizes. Results clearly distinguish between files and directories with [FILE] and [DIR] prefixes. This tool is useful for understanding directory structure and finding specific files within a directory. Only works within allowed directories.

Neither says when to pick it over the other, that list_directory_with_sizes can sort by size, or that it ends with totals.

memory (2026.8.31): delete_entities and delete_relations

delete_entities: Delete multiple entities and their associated relations from the knowledge graph

delete_relations: Delete multiple relations from the knowledge graph

Both are destructive. Asked to remove a link between two entities, a model that picks delete_entities deletes the entities themselves, with all their observations. Neither description says which one to use for that.

Solution you have in mind (optional)

Say in each description when to use the tool and when to use its sibling instead. Suggested text, written only from what the code does (I checked list_directory_with_sizes's sort and summary in dist/index.js):

  • list_directory: List the files and directories directly inside a path, each marked [FILE] or [DIR]. Use it to see what a directory contains; when you also need each entry's size or want entries sorted by size, use list_directory_with_sizes instead, and for a recursive view use directory_tree. Returns one line per entry. Only works within allowed directories.
  • list_directory_with_sizes: List the files and directories directly inside a path with each file's size, marked [FILE] or [DIR], sorted by name or by size (sortBy). Use it when sizes matter, such as finding the largest files; for names only, use list_directory, which returns less text. Returns one line per entry, followed by the totals. Only works within allowed directories.
  • delete_entities: Delete whole entities from the knowledge graph, together with every relation that points to or from them and all their observations. Use it only to remove an entity entirely; to remove a link between two entities and keep both, use delete_relations, and to remove facts from an entity, use delete_observations. Cannot be undone.
  • delete_relations: Delete specific relations (from, to, relationType) from the knowledge graph and keep the entities they connect. Use it to remove a link between two entities; to remove an entity itself, use delete_entities. Cannot be undone.
Which MCP feature does it demonstrate? (optional)

Tool descriptions, and how clients use them to choose a tool. As reference servers, these are what many people copy when writing their own.

Alternatives or workarounds you have tried

None on the server side. A client can add its own instructions, but every client would have to do it.

Already built it locally?

No code. The prompt I'd use: "In src/filesystem and src/memory, rewrite the descriptions of list_directory, list_directory_with_sizes, delete_entities and delete_relations so each says when to use it and names the sibling tool to use instead, using only behavior the code implements; keep tool names and schemas unchanged."

For context: I found these pairs with Forecall, a static linter for MCP tool descriptions that I maintain. It flags tool pairs whose descriptions overlap heavily. With the text above, its scores go from 38 and 48 to 65 and 70 for the two filesystem tools, and from 51 and 39 to 61 and 61 for the two memory tools. The scores are only a guide; the point is the missing "use X instead".

Before you submit
  • I searched existing issues and this is not a duplicate.
  • This is a request for this repository or one of its servers, not a new server, the MCP specification or an SDK.
Ngôn ngữ chính
TypeScript
Star
91.4k
Fork
11.8k
Merge trung bình
7 giờ 36 phút
Pull request đã merge (30 ngày)
126

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của modelcontextprotocol/servers

Tất cả issue của modelcontextprotocol/servers

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.