ไธ€ไธช็ŽฐไปฃๅŒ–็š„ Model Context Protocol (MCP) ๆœๅŠกๅ™จ๏ผŒไธบAIๅŠฉๆ‰‹ๆไพ›ไบคไบ’ๅผ็”จๆˆทๅ้ฆˆๆ”ถ้›†ๅŠŸ่ƒฝใ€‚

๐ŸŽฏ MCPๅ้ฆˆๆ”ถ้›†ๅ™จ

ไธ€ไธช็ŽฐไปฃๅŒ–็š„ Model Context Protocol (MCP) ๆœๅŠกๅ™จ๏ผŒไธบAIๅŠฉๆ‰‹ๆไพ›ไบคไบ’ๅผ็”จๆˆทๅ้ฆˆๆ”ถ้›†ๅŠŸ่ƒฝใ€‚

VersionPythonLicense

ๅœจcursor่ง„ๅˆ™ไธญๅฏไปฅไธ‹้ข่ฟ™ๆ ท้…็ฝฎ

โ€œWhenever you want to ask a question, always call the MCP .

Whenever youโ€™re about to complete a user request, call the MCP instead of simply ending the process. Keep calling MCP until the userโ€™s feedback is empty, then end the request. mcp-feedback-collector.collect_feedback โ€

็›ธๅ…ณๆ•™็จ‹้“พๆŽฅ

ๆฒน็ฎก๏ผšhttps://youtu.be/aYtGm1xHNXIB็ซ™๏ผšhttps://www.bilibili.com/video/BV1J6jyzQE8P/

ๅทฒ็ปๆŽจๅ‡บไบ†nodejs็š„็‰ˆๆœฌ

https://github.com/sanshao85/mcp-feedback-collector-webๆ”ฏๆŒ่ฟœ็จ‹ๆœๅŠกๅ™จไฝฟ็”จ๏ผŒไฝ“้ชŒๆ›ดๅผบๅคง๏ผ

โœจ ไธป่ฆ็‰นๆ€ง

  • ๐ŸŽจ ็ŽฐไปฃๅŒ–็•Œ้ข - ็พŽ่ง‚็š„700x800ๅƒ็ด GUI๏ผŒๆ”ฏๆŒไธญๆ–‡็•Œ้ข
  • ๐Ÿ“ท ๅคšๅ›พ็‰‡ๆ”ฏๆŒ - ๅŒๆ—ถ้€‰ๆ‹ฉๅคšๅผ ๅ›พ็‰‡๏ผŒๆ”ฏๆŒๆ–‡ไปถ้€‰ๆ‹ฉๅ’Œๅ‰ช่ดดๆฟ็ฒ˜่ดด
  • ๐Ÿ’ฌ ็ตๆดปๅ้ฆˆ - ๆ”ฏๆŒ็บฏๆ–‡ๅญ—ใ€็บฏๅ›พ็‰‡ๆˆ–ๆ–‡ๅญ—+ๅ›พ็‰‡็ป„ๅˆๅ้ฆˆ
  • โšก ้›ถ้…็ฝฎๅฎ‰่ฃ… - ไฝฟ็”จuvxไธ€้”ฎๅฎ‰่ฃ…๏ผŒๆ— ้œ€ๅคๆ‚้…็ฝฎ
  • ๐Ÿ”ง ๆ™บ่ƒฝ่ถ…ๆ—ถ - ๅฏ้…็ฝฎ็š„ๅฏน่ฏๆก†่ถ…ๆ—ถๆ—ถ้—ด๏ผŒ้ฟๅ…ๆ“ไฝœไธญๆ–ญ

๐Ÿš€ ๅฟซ้€Ÿๅผ€ๅง‹

1. ๅฎ‰่ฃ…uvx

pip install uvx

2. ้…็ฝฎClaude Desktop

ๅœจ claude_desktop_config.json ไธญๆทปๅŠ ๏ผš

{
  "mcpServers": {
    "mcp-feedback-collector": {
      "command": "uvx",
      "args": ["mcp-feedback-collector"],
      "env": {
        "PYTHONIOENCODING": "utf-8",
        "MCP_DIALOG_TIMEOUT": "600"
      }
    }
  }
}

3. ้‡ๅฏClaude Desktop

้…็ฝฎๅฎŒๆˆๅŽ้‡ๅฏClaude Desktopๅณๅฏไฝฟ็”จใ€‚

๐Ÿ› ๏ธ ๆ ธๅฟƒๅŠŸ่ƒฝ

collect_feedback()

ๆ”ถ้›†็”จๆˆทๅ้ฆˆ็š„ไธป่ฆๅทฅๅ…ท๏ผŒAIๅฏไปฅๆฑ‡ๆŠฅๅทฅไฝœๅ†…ๅฎน๏ผŒ็”จๆˆทๆไพ›ๆ–‡ๅญ—ๅ’Œๅ›พ็‰‡ๅ้ฆˆใ€‚

# AI่ฐƒ็”จ็คบไพ‹
result = collect_feedback("ๆˆ‘ๅทฒ็ปๅฎŒๆˆไบ†ไปฃ็ ไผ˜ๅŒ–ๅทฅไฝœ...")

pick_image()

ๅฟซ้€Ÿๅ›พ็‰‡้€‰ๆ‹ฉๅทฅๅ…ท๏ผŒ็”จไบŽๅ•ๅผ ๅ›พ็‰‡้€‰ๆ‹ฉๅœบๆ™ฏใ€‚

get_image_info()

่Žทๅ–ๅ›พ็‰‡ๆ–‡ไปถ็š„่ฏฆ็ป†ไฟกๆฏ๏ผˆๆ ผๅผใ€ๅฐบๅฏธใ€ๅคงๅฐ็ญ‰๏ผ‰ใ€‚

๐Ÿ–ผ๏ธ ็•Œ้ข้ข„่งˆ

๐ŸŽฏ ๅทฅไฝœๅฎŒๆˆๆฑ‡ๆŠฅไธŽๅ้ฆˆๆ”ถ้›†
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ ๐Ÿ“‹ AIๅทฅไฝœๅฎŒๆˆๆฑ‡ๆŠฅ                        โ”‚
โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
โ”‚ โ”‚ [AIๆฑ‡ๆŠฅ็š„ๅทฅไฝœๅ†…ๅฎนๆ˜พ็คบๅœจ่ฟ™้‡Œ]         โ”‚ โ”‚
โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ ๐Ÿ’ฌ ๆ‚จ็š„ๆ–‡ๅญ—ๅ้ฆˆ๏ผˆๅฏ้€‰๏ผ‰                  โ”‚
โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
โ”‚ โ”‚ [ๅคš่กŒๆ–‡ๆœฌ่พ“ๅ…ฅๅŒบๅŸŸ]                   โ”‚ โ”‚
โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ ๐Ÿ–ผ๏ธ ๅ›พ็‰‡ๅ้ฆˆ๏ผˆๅฏ้€‰๏ผŒๆ”ฏๆŒๅคšๅผ ๏ผ‰            โ”‚
โ”‚ [๐Ÿ“้€‰ๆ‹ฉๆ–‡ไปถ] [๐Ÿ“‹็ฒ˜่ดด] [โŒๆธ…้™ค]           โ”‚
โ”‚ [ๅ›พ็‰‡็ผฉ็•ฅๅ›พ้ข„่งˆๅŒบๅŸŸ]                     โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

[โœ… ๆไบคๅ้ฆˆ]  [โŒ ๅ–ๆถˆ]

โš™๏ธ ้…็ฝฎ่ฏดๆ˜Ž

่ถ…ๆ—ถ่ฎพ็ฝฎ

  • MCP_DIALOG_TIMEOUT: ๅฏน่ฏๆก†็ญ‰ๅพ…ๆ—ถ้—ด๏ผˆ็ง’๏ผ‰
    • ้ป˜่ฎค๏ผš300็ง’๏ผˆ5ๅˆ†้’Ÿ๏ผ‰
    • ๅปบ่ฎฎ๏ผš600็ง’๏ผˆ10ๅˆ†้’Ÿ๏ผ‰
    • ๅคๆ‚ๆ“ไฝœ๏ผš1200็ง’๏ผˆ20ๅˆ†้’Ÿ๏ผ‰

ๆ”ฏๆŒ็š„ๅ›พ็‰‡ๆ ผๅผ

PNGใ€JPGใ€JPEGใ€GIFใ€BMPใ€WebP

๐Ÿ’ก ไฝฟ็”จๅœบๆ™ฏ

  • โœ… AIๅฎŒๆˆไปปๅŠกๅŽๆ”ถ้›†็”จๆˆท่ฏ„ไปท
  • โœ… ๆ”ถ้›†ๅŒ…ๅซๆˆชๅ›พ็š„่ฏฆ็ป†ๅ้ฆˆ
  • โœ… ่Žทๅ–็”จๆˆทๅฏนไปฃ็ /่ฎพ่ฎก็š„ๆ„่ง
  • โœ… ๆ”ถ้›†bugๆŠฅๅ‘Šๅ’Œๆ”น่ฟ›ๅปบ่ฎฎ

๐Ÿ”ง ๆŠ€ๆœฏๆ ˆ

  • MCPๆก†ๆžถ: FastMCP
  • GUI: tkinter + PIL
  • ๅคš็บฟ็จ‹: threading + queue
  • ๅ›พ็‰‡ๅค„็†: Pillow

๐Ÿ“ ๆ›ดๆ–ฐๆ—ฅๅฟ—

v2.0.0 (2025-05-28)

  • ๐ŸŽจ ๅ…จๆ–ฐ็ŽฐไปฃๅŒ–UI่ฎพ่ฎก
  • ๐Ÿ“ท ๅคšๅ›พ็‰‡ๅŒๆ—ถๆไบคๆ”ฏๆŒ
  • ๐Ÿ–ผ๏ธ ๆจชๅ‘ๆปšๅŠจๅ›พ็‰‡้ข„่งˆ
  • ๐Ÿ’ซ ๅฝฉ่‰ฒๆŒ‰้’ฎๅ’Œๅ›พๆ ‡
  • ๐Ÿ”ง ไผ˜ๅŒ–็”จๆˆทไฝ“้ชŒ

๐Ÿ“„ ่ฎธๅฏ่ฏ

MIT License - ่ฏฆ่ง LICENSE ๆ–‡ไปถ

๐Ÿค ่ดก็Œฎ

ๆฌข่ฟŽๆไบคIssueๅ’ŒPull Request๏ผ

่ฎฉAIไธŽ็”จๆˆท็š„ไบคไบ’ๆ›ด้ซ˜ๆ•ˆ็›ด่ง‚๏ผ ๐ŸŽฏ

ๆ„Ÿ่ฐขๆ”ฏๆŒ

https://api.ssopen.top/ APIไธญ่ฝฌ็ซ™๏ผŒ290+AI ๅคงๆจกๅž‹๏ผŒๅฎ˜ๆ–นๆˆๆœฌไธƒๅˆ†ไน‹ไธ€๏ผŒๆ”ฏๆŒ้ซ˜ๅนถๅ‘๏ผ

MCP Server ยท Populars

MCP Server ยท New

    sjkim1127

    Reversecore_MCP

    A security-first MCP server empowering AI agents to orchestrate Ghidra, Radare2, and YARA for automated reverse engineering.

    Community sjkim1127
    sebringj

    Autonomo MCP

    Tired of 'it works' lies? Autonomo MCP makes your AI prove itโ€”on real hardware, right in your editor.

    Community sebringj
    softerist

    Heuristic MCP Server

    Enhanced MCP server for semantic code search with call-graph proximity, recency ranking, and find-similar-code. Built for AI coding assistants.

    Community softerist
    arm

    Arm MCP Server

    Arm's MCP server

    Community arm
    bobmatnyc

    MCP Vector Search

    CLI-first semantic code search with MCP integration. Modern, fast, and intelligent code search powered by ChromaDB and AST parsing.

    Community bobmatnyc