Skip to content

MCP სერვერი

OpenPR-ის MCP სერვერი ახორციელებს Model Context Protocol-ს, რათა ხელოვნური ინტელექტის აგენტებს მისცეს სტრუქტურირებული წვდომა პროექტების მართვის ოპერაციებზე. ვებ ინტერფეისის სკრინ-სკრეიპინგის ან API დოკუმენტაციის პარსინგის ნაცვლად, აგენტები ურთიერთქმედებენ ტიპიზირებული ინსტრუმენტების განმარტებებით JSON Schema შეყვანის ვალიდაციით.

MCP სერვერი მხარს უჭერს სამ ტრანსპორტის რეჟიმს:

ტრანსპორტიგამოყენების შემთხვევაბრძანება
HTTPდისტანციური აგენტები, პროდაქშენის გაშლაmcp-server serve --transport http --bind-addr 0.0.0.0:8090
stdioლოკალური აგენტები, IDE ინტეგრაციებიmcp-server serve --transport stdio
SSEბრაუზერზე დაფუძნებული აგენტები, სტრიმინგიmcp-server serve --transport sse

ნაგულისხმევ Docker Compose გაშლაში MCP სერვერი მუშაობს 8090 პორტზე HTTP ტრანსპორტით.

MCP სერვერი ავტორიზდება ბოტის ტოკენებით opr_ პრეფიქსით. ეს ტოკენები მიბმულია სამუშაო სივრცეზე და ინახება SHA-256 ჰეშების სახით workspace_bots ცხრილში.

ბოტის ტოკენები მხარს უჭერენ:

  • ვადის გასვლის თარიღებს (არჩევითი)
  • ნებართვების მასივებს (read, write, admin)
  • აქტიური/არააქტიური სტატუსს
  • last_used_at ავტომატური თვალყურის დევნებას

MCP სერვერს სჭირდება ეს გარემოს ცვლადები:

ცვლადიაღწერა
OPENPR_API_URLOpenPR API-ის საბაზისო URL
OPENPR_BOT_TOKENბოტის ტოკენი (opr_ პრეფიქსი) ავტორიზაციისთვის
OPENPR_WORKSPACE_IDსამუშაო სივრცის UUID
DEFAULT_AUTHOR_IDნაგულისხმევი მომხმარებლის ID ოპერაციებისთვის ექსპლიციტური ავტორის გარეშე

ინსტრუმენტების კატალოგი

Section titled “ინსტრუმენტების კატალოგი”

MCP სერვერი აქვეყნებს 34 ინსტრუმენტს, ორგანიზებულს შემდეგ კატეგორიებად.

პროექტების მართვა (5 ინსტრუმენტი)

Section titled “პროექტების მართვა (5 ინსტრუმენტი)”
ინსტრუმენტიაღწერა
projects.listსამუშაო სივრცეში ყველა პროექტის ჩამოთვლა
projects.getპროექტის დეტალების მიღება UUID-ით
projects.createახალი პროექტის შექმნა სახელითა და გასაღებით
projects.updateპროექტის ველების განახლება
projects.deleteპროექტის წაშლა

სამუშაო ერთეულები / ამოცანები (10 ინსტრუმენტი)

Section titled “სამუშაო ერთეულები / ამოცანები (10 ინსტრუმენტი)”
ინსტრუმენტიაღწერა
work_items.listპროექტში ამოცანების ჩამოთვლა არჩევითი ფილტრებით (მდგომარეობა, პრიორიტეტი, მინიჭებული პირი, სპრინტი)
work_items.getერთი ამოცანის მიღება UUID-ით
work_items.get_by_identifierამოცანის მიღება ადამიანისთვის წაკითხვადი გასაღებით (მაგ., PROJ-A1B2C3D4)
work_items.createახალი ამოცანის შექმნა სათაურით, აღწერით, მდგომარეობით, პრიორიტეტით, მინიჭებული პირით
work_items.updateამოცანის ველების განახლება (სათაური, აღწერა, მდგომარეობა, პრიორიტეტი, მინიჭებული პირი, სპრინტი)
work_items.deleteამოცანის წაშლა
work_items.searchსრულტექსტური ძებნა ამოცანების სათაურებსა და აღწერებში
work_items.add_labelერთი ლეიბლის დამატება ამოცანაზე
work_items.add_labelsრამდენიმე ლეიბლის დამატება ამოცანაზე ერთი გამოძახებით
work_items.remove_labelლეიბლის ამოშლა ამოცანიდან
work_items.list_labelsამოცანაზე ყველა ლეიბლის ჩამოთვლა

სპრინტების მართვა (4 ინსტრუმენტი)

Section titled “სპრინტების მართვა (4 ინსტრუმენტი)”
ინსტრუმენტიაღწერა
sprints.createსპრინტის შექმნა სახელით, დაწყების თარიღით, დასრულების თარიღით
sprints.listპროექტში ყველა სპრინტის ჩამოთვლა
sprints.updateსპრინტის ველების განახლება (სახელი, სტატუსი, თარიღები)
sprints.deleteსპრინტის წაშლა

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

Section titled “კომენტარები (3 ინსტრუმენტი)”
ინსტრუმენტიაღწერა
comments.listამოცანაზე კომენტარების ჩამოთვლა
comments.createამოცანაზე კომენტარის დამატება
comments.deleteკომენტარის წაშლა

ლეიბლები (5 ინსტრუმენტი)

Section titled “ლეიბლები (5 ინსტრუმენტი)”
ინსტრუმენტიაღწერა
labels.createლეიბლის შექმნა სახელითა და ფერით
labels.listსამუშაო სივრცეში ყველა ლეიბლის ჩამოთვლა
labels.list_projectკონკრეტული პროექტის ლეიბლების ჩამოთვლა
labels.updateლეიბლის სახელის ან ფერის განახლება
labels.deleteლეიბლის წაშლა

მმართველობა / წინადადებები (3 ინსტრუმენტი)

Section titled “მმართველობა / წინადადებები (3 ინსტრუმენტი)”
ინსტრუმენტიაღწერა
proposals.listპროექტის წინადადებების ჩამოთვლა, არჩევით სტატუსის ფილტრით
proposals.getწინადადების დეტალების მიღება (მხარს უჭერს UUID-სა და PROP- პრეფიქსიან ID-ებს)
proposals.createახალი წინადადების შექმნა სათაურით, აღწერითა და პროექტით

წევრები (1 ინსტრუმენტი)

Section titled “წევრები (1 ინსტრუმენტი)”
ინსტრუმენტიაღწერა
members.listსამუშაო სივრცეში ყველა წევრის ჩამოთვლა

ფაილები (1 ინსტრუმენტი)

Section titled “ფაილები (1 ინსტრუმენტი)”
ინსტრუმენტიაღწერა
files.uploadფაილის დანართის ატვირთვა

ძებნა (1 ინსტრუმენტი)

Section titled “ძებნა (1 ინსტრუმენტი)”
ინსტრუმენტიაღწერა
search.allგლობალური ძებნა ყველა ერთეულის ტიპში

ინსტრუმენტის შეყვანის სქემა

Section titled “ინსტრუმენტის შეყვანის სქემა”

ყველა ინსტრუმენტის განმარტება მოიცავს JSON Schema-ს შეყვანის ვალიდაციისთვის. პარამეტრები იყენებენ UUID ფორმატს ერთეულებზე მითითებისთვის და ავალდებულებენ სავალდებულო ველებს სქემის დონეზე.

მაგალითი: work_items.create შეყვანის სქემა:

{
"type": "object",
"properties": {
"project_id": {
"type": "string",
"description": "პროექტის UUID",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
},
"title": {
"type": "string",
"description": "ამოცანის სათაური"
},
"description": {
"type": "string",
"description": "ამოცანის აღწერა (არჩევითი)"
},
"state": {
"type": "string",
"description": "ამოცანის მდგომარეობა: backlog, todo, in_progress, done"
},
"priority": {
"type": "string",
"description": "პრიორიტეტი: low, medium, high, urgent"
},
"assignee_id": {
"type": "string",
"description": "მინიჭებული პირის UUID (არჩევითი)"
}
},
"required": ["project_id", "title"]
}

ინსტრუმენტის პასუხის ფორმატი

Section titled “ინსტრუმენტის პასუხის ფორმატი”

ყველა ინსტრუმენტი აბრუნებს CallToolResult-ს წარმატებული პეილოადით (JSON ფორმატის მონაცემები) ან შეცდომის შეტყობინების სტრიქონით. წარმატებული პასუხები შეიცავს ერთეულის სრულ წარმოდგენას ლამაზად ფორმატირებული JSON-ის სახით.

ხელოვნური ინტელექტის აგენტის დაკავშირება

Section titled “ხელოვნური ინტელექტის აგენტის დაკავშირება”

Claude Code / MCP კლიენტის კონფიგურაცია

Section titled “Claude Code / MCP კლიენტის კონფიგურაცია”
{
"mcpServers": {
"openpr": {
"url": "http://localhost:8090/mcp",
"transport": "http",
"headers": {
"Authorization": "Bearer opr_your_bot_token_here"
}
}
}
}

stdio ტრანსპორტი (ლოკალური)

Section titled “stdio ტრანსპორტი (ლოკალური)”
{
"mcpServers": {
"openpr": {
"command": "/path/to/mcp-server",
"args": ["serve", "--transport", "stdio"],
"env": {
"OPENPR_API_URL": "http://localhost:8081",
"OPENPR_BOT_TOKEN": "opr_your_bot_token_here",
"OPENPR_WORKSPACE_ID": "your-workspace-uuid"
}
}
}
}

ხელმისაწვდომი ინსტრუმენტების ჩამოთვლა

Section titled “ხელმისაწვდომი ინსტრუმენტების ჩამოთვლა”

MCP სერვერს აქვს ჩაშენებული ინსტრუმენტების ჩამოთვლის უტილიტა:

Terminal window
# ყველა ინსტრუმენტის განმარტების ამობეჭდვა JSON-ად
mcp-server list-tools

ეს გამოსცემს ყველა ინსტრუმენტის სახელს, აღწერას და შეყვანის სქემას — სასარგებლოა დებაგინგისთვის ან კლიენტის კოდის გენერაციისთვის.