Skip to content
ეს გვერდი შეიქმნა და ითარგმნა ხელოვნური ინტელექტის დახმარებით. თუ შეამჩნევთ უზუსტობას, გთხოვთ, დაგვეხმარეთ გაუმჯობესებაში. GitHub-ზე რედაქტირება

MCP სერვერი

OpenPR ჩაშენებულ MCP (Model Context Protocol) სერვერს შეიცავს, რომელიც AI ასისტენტებს პროექტების, issue-ების, sprint-ების, ეტიკეტების, კომენტარების, წინადადებებისა და ფაილების მართვის 34 ინსტრუმენტს გვაძლევს. სერვერი სამ სატრანსპორტო პროტოკოლს ერთდროულად მხარს უჭერს.

სატრანსპორტო პროტოკოლები

პროტოკოლიგამოყენ-შემთხვEndpoint
HTTPვებ-ინტეგრაციები, OpenClaw plugin-ებიPOST /mcp/rpc
stdioClaude Desktop, Codex, ლოკ-CLIstdin/stdout JSON-RPC
SSEსტრიმინგ-კლიენტები, რეალ-დრო UIGET /sse + POST /messages

მულტი-პროტოკოლი

HTTP რეჟიმში ყველა სამი პროტოკოლი ერთ პორტზეა ხელმისაწვდომი: /mcp/rpc (HTTP), /sse + /messages (SSE) და /health (ჯანმრთელ-შემოწმება).

კონფიგურაცია

გარემო-ცვლადები

ცვლადისავალდაღწერამაგალითი
OPENPR_API_URLდიახAPI სერვერ-base URLhttp://localhost:3000
OPENPR_BOT_TOKENდიახბოტ-ტოკენი opr_ პრეფიქსითopr_abc123...
OPENPR_WORKSPACE_IDდიახნაგულისხმევი სამუშაო სივრც-UUIDe5166fd1-...

Claude Desktop / Cursor / Codex (stdio)

MCP კლიენტ-კონფ-ში დამატება:

json
{
  "mcpServers": {
    "openpr": {
      "command": "/path/to/mcp-server",
      "args": ["--transport", "stdio"],
      "env": {
        "OPENPR_API_URL": "http://localhost:3000",
        "OPENPR_BOT_TOKEN": "opr_your_token_here",
        "OPENPR_WORKSPACE_ID": "your-workspace-uuid"
      }
    }
  }
}

HTTP რეჟიმი

bash
# Start the MCP server
./target/release/mcp-server --transport http --bind-addr 0.0.0.0:8090

# Verify
curl -X POST http://localhost:8090/mcp/rpc \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

SSE რეჟიმი

bash
# 1. Connect SSE stream (returns session endpoint)
curl -N -H "Accept: text/event-stream" http://localhost:8090/sse
# -> event: endpoint
# -> data: /messages?session_id=<uuid>

# 2. POST request to the returned endpoint
curl -X POST "http://localhost:8090/messages?session_id=<uuid>" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"projects.list","arguments":{}}}'
# -> Response arrives via SSE stream as event: message

Docker Compose

yaml
mcp-server:
  build:
    context: .
    dockerfile: Dockerfile.prebuilt
    args:
      APP_BIN: mcp-server
  environment:
    - OPENPR_API_URL=http://api:8080
    - OPENPR_BOT_TOKEN=opr_your_token
    - OPENPR_WORKSPACE_ID=your-workspace-uuid
  ports:
    - "8090:8090"
  command: ["./mcp-server", "--transport", "http", "--bind-addr", "0.0.0.0:8090"]

ინსტრუმენტ-ცნობარი (34 ინსტრუმენტი)

პროექტები (5)

ინსტრუმენტისავალდ-პარამეტრებიაღწერა
projects.list--სამუშაო სივრცის ყველა პროექტის ჩამოთვლა
projects.getproject_idissue-რაოდენობ-მქონე პროექტ-დეტ-მიღება
projects.createkey, nameპროექტის შექმნა
projects.updateproject_idსახელ/აღწ-განახლება
projects.deleteproject_idპროექტის წაშლა

Work Item-ები / Issue-ები (11)

ინსტრუმენტისავალდ-პარამეტრებიაღწერა
work_items.listproject_idპროექტის issue-ების ჩამოთვლა
work_items.getwork_item_idUUID-ის გავლით issue-ს მიღება
work_items.get_by_identifieridentifierადამიანUR-ID-ის გავლით (მაგ., API-42)
work_items.createproject_id, titleსურვილისამ-სტ/პრ/აღ/პასუხ/ვადა/დანართ-issue-შექმნა
work_items.updatework_item_idნებისმიერ ველ-განახლება
work_items.deletework_item_idissue-ს წაშლა
work_items.searchqueryყველა პროექტ-სრული-ტექსტ-ძებნა
work_items.add_labelwork_item_id, label_idერთი ეტიკეტ-დამატება
work_items.add_labelswork_item_id, label_idsმრავალი ეტიკეტ-დამატება
work_items.remove_labelwork_item_id, label_idეტიკეტ-ამოღება
work_items.list_labelswork_item_idissue-ს ეტიკეტების ჩამოთვლა

კომენტარები (3)

ინსტრუმენტისავალდ-პარამეტრებიაღწერა
comments.creatework_item_id, contentსურვილ-დანართ-კომენტარ-შექმნა
comments.listwork_item_idissue-ს კომენტარების ჩამოთვლა
comments.deletecomment_idკომენტარის წაშლა

ფაილები (1)

ინსტრუმენტისავალდ-პარამეტრებიაღწერა
files.uploadfilename, content_base64ფაილ-ატვირთვა (base64), URL-ს და სახელს აბრუნებს

ეტიკეტები (5)

ინსტრუმენტისავალდ-პარამეტრებიაღწერა
labels.list--ყველა სამუშაო სივრც-ეტიკეტის ჩამოთვლა
labels.list_by_projectproject_idპროექტ-ეტიკეტების ჩამოთვლა
labels.createname, colorეტიკეტ-შექმნა (ფერი: hex, მაგ., #2563eb)
labels.updatelabel_idსახელ/ფერ/აღწ-განახლება
labels.deletelabel_idეტიკეტ-წაშლა

Sprint-ები (4)

ინსტრუმენტისავალდ-პარამეტრებიაღწერა
sprints.listproject_idპროექტის sprint-ების ჩამოთვლა
sprints.createproject_id, nameსურვ-start_date/end_date-sprint-შ
sprints.updatesprint_idსახელ/თარ/სტ-განახლება
sprints.deletesprint_idsprint-ის წაშლა

წინადადებები (3)

ინსტრუმენტისავალდ-პარამეტრებიაღწერა
proposals.listproject_idსურვ-სტ-ფილტ-წინადადებების ჩამოთვლა
proposals.getproposal_idწინადადებ-დეტ-მიღება
proposals.createproject_id, title, descriptionმმართველობ-წინადადებ-შექმნა

წევრები & ძებნა (2)

ინსტრუმენტისავალდ-პარამეტრებიაღწერა
members.list--სამუშ-სივრც-წ/როლ-ჩამოთვ
search.allqueryგლობ-ძ-პრ/issue/კომ

პასუხ-ფორმატი

ყველა MCP ინსტრუმენტ-პასუხი ამ სტრუქტურას მიჰყვება:

წარმატება

json
{
  "code": 0,
  "message": "success",
  "data": { ... }
}

შეცდომა

json
{
  "code": 400,
  "message": "error description"
}

ბოტ-ტოკენ-ავთენტიფიკაცია

MCP სერვერი ბოტ-ტოკენებით (opr_ პრეფიქსი) ავთ. ბოტ-ტოკენები Workspace Settings > Bot Tokens-ში შექმენი.

ყოველი ბოტ-ტოკენი:

  • ჩვენ-სახელს შეიცავს (საქმიანობ-feed-ებში ნაჩვენები)
  • ერთ სამუშაო სივრცეზე სკოპირდება
  • bot_mcp მომხმარებლ-ერთეულს ქმნის აუდ-კვ-მთლიანობისთვის
  • სამუშ-სივრც-წ-ყველა კითხ-ჩ-ოპ-მხარს უჭ

აგენტ-ინტეგრაცია

კოდ-აგენტებისთვის OpenPR გვაძლევს:

  • AGENTS.md (apps/mcp-server/AGENTS.md) -- სამუშ-ნ-შ-ინსტ-მ-აგ.
  • Skill Package (skills/openpr-mcp/SKILL.md) -- სამ-ნ-შ-სკ-script-ებიანი მართ-skill.

რეკომ-აგ-სამ-ნ:

  1. ინსტ-სემ-AGENTS.md-ის ჩატვ.
  2. runtime-ხელმ-ინსტ-ENUM-ისთ tools/list.
  3. სამ-ნ-შ-მიყ: ძ -> შ -> ეტ -> კომ.

შემდეგი ნაბიჯები

Released under the Apache-2.0 License.