Skip to main content
Glama

PyGithub MCP Server

by AstroMined
coverage_report.json21 kB
{ "timestamp": "2025-03-13 01:12:08", "summary": { "overall_coverage": 70.0, "total_statements": 1869, "total_missing": 480, "modules_count": 44, "high_priority_count": 11, "medium_priority_count": 7, "low_priority_count": 26 }, "high_priority_modules": [ { "name": "src/pygithub_mcp_server/__main__.py", "coverage": 0, "statements": 4, "missing": 4, "missing_lines": "6-11", "parsed_lines": [ 6, 7, 8, 9, 10, 11 ], "missing_ranges": [ "6-11" ] }, { "name": "src/pygithub_mcp_server/converters/parameters.py", "coverage": 14, "statements": 70, "missing": 56, "missing_lines": "23-34, 46-65, 77-101, 113-134, 150, 153, 156", "parsed_lines": [ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 150, 153, 156 ], "missing_ranges": [ "23-34", "46-65", "77-101", "113-134" ] }, { "name": "src/pygithub_mcp_server/converters/responses.py", "coverage": 21, "statements": 16, "missing": 11, "missing_lines": "29-40, 56-59", "parsed_lines": [ 32, 33, 34, 35, 36, 37, 38, 39, 40, 56, 57, 58, 59, 29, 30, 31 ], "missing_ranges": [ "29-40", "56-59" ] }, { "name": "src/pygithub_mcp_server/converters/common/datetime.py", "coverage": 34, "statements": 49, "missing": 29, "missing_lines": "43, 47, 51, 62, 63->81, 66->81, 70-78, 82-84, 102-115, 124-135", "parsed_lines": [ 128, 129, 130, 131, 132, 133, 134, 135, 43, 47, 51, 62, 63, 66, 70, 71, 72, 73, 74, 75, 76, 77, 78, 82, 83, 84, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 124, 125, 126, 127 ], "missing_ranges": [ "63 (branch)", "66 (branch)", "70-78", "82-84", "102-115", "124-135" ] }, { "name": "src/pygithub_mcp_server/errors/formatters.py", "coverage": 44, "statements": 22, "missing": 10, "missing_lines": "33->47, 37-45, 59", "parsed_lines": [ 33, 37, 38, 39, 40, 41, 42, 43, 44, 45, 59 ], "missing_ranges": [ "33 (branch)", "37-45" ] }, { "name": "src/pygithub_mcp_server/config/settings.py", "coverage": 47, "statements": 33, "missing": 15, "missing_lines": "48-68", "parsed_lines": [ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68 ], "missing_ranges": [ "48-68" ] }, { "name": "src/pygithub_mcp_server/utils/environment.py", "coverage": 48, "statements": 52, "missing": 23, "missing_lines": "29, 34-37, 44->exit, 67, 84-89, 106-121", "parsed_lines": [ 29, 34, 35, 36, 37, 44, 67, 84, 85, 86, 87, 88, 89, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121 ], "missing_ranges": [ "34-37", "44 (branch)", "84-89", "106-121" ] }, { "name": "src/pygithub_mcp_server/tools/repositories/tools.py", "coverage": 52, "statements": 182, "missing": 87, "missing_lines": "57-58, 68-72, 92-120, 139-167, 204-214, 247-248, 258-262, 309-313, 340-343, 352-362, 390-391, 406-410, 449-459", "parsed_lines": [ 57, 58, 68, 69, 70, 71, 72, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 247, 248, 258, 259, 260, 261, 262, 309, 310, 311, 312, 313, 340, 341, 342, 343, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 390, 391, 406, 407, 408, 409, 410, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459 ], "missing_ranges": [ "57-58", "68-72", "92-120", "139-167", "204-214", "247-248", "258-262", "309-313", "340-343", "352-362", "390-391", "406-410", "449-459" ] }, { "name": "src/pygithub_mcp_server/errors/handlers.py", "coverage": 62, "statements": 106, "missing": 40, "missing_lines": "49-51, 54->64, 57->64, 61-62, 65->71, 68-70, 75-80, 91, 93, 95, 97, 99, 102-103, 107-126, 141-145, 169->168, 177", "parsed_lines": [ 141, 142, 143, 144, 145, 169, 49, 50, 51, 177, 54, 57, 61, 62, 65, 68, 69, 70, 75, 76, 77, 78, 79, 80, 91, 93, 95, 97, 99, 102, 103, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126 ], "missing_ranges": [ "49-51", "54 (branch)", "57 (branch)", "61-62", "65 (branch)", "68-70", "75-80", "102-103", "107-126", "141-145", "169 (branch)" ] }, { "name": "src/pygithub_mcp_server/operations/repositories.py", "coverage": 65, "statements": 193, "missing": 58, "missing_lines": "54-55, 70-94, 109-125, 153-155, 178, 185, 235->239, 245->249, 250-251, 253, 254->258, 258->265, 260-261, 270->272, 272->274, 274->280, 276-277, 332-333, 350, 359-362, 376-378, 404, 463-465", "parsed_lines": [ 54, 55, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 153, 154, 155, 178, 185, 235, 245, 250, 251, 253, 254, 258, 260, 261, 270, 272, 274, 276, 277, 332, 333, 350, 359, 360, 361, 362, 376, 377, 378, 404, 463, 464, 465 ], "missing_ranges": [ "54-55", "70-94", "109-125", "153-155", "235 (branch)", "245 (branch)", "250-251", "254 (branch)", "258 (branch)", "260-261", "270 (branch)", "272 (branch)", "274 (branch)", "276-277", "332-333", "359-362", "376-378", "463-465" ] }, { "name": "src/pygithub_mcp_server/converters/common/pagination.py", "coverage": 68, "statements": 52, "missing": 19, "missing_lines": "38-43, 72-78, 95-101", "parsed_lines": [ 38, 39, 40, 41, 42, 43, 72, 73, 74, 75, 76, 77, 78, 95, 96, 97, 98, 99, 100, 101 ], "missing_ranges": [ "38-43", "72-78", "95-101" ] } ], "medium_priority_modules": [ { "name": "src/pygithub_mcp_server/tools/__init__.py", "coverage": 75, "statements": 68, "missing": 14, "missing_lines": "55->54, 57->54, 68-76, 127-131, 136", "parsed_lines": [ 128, 129, 130, 131, 68, 69, 70, 71, 72, 73, 74, 75, 76, 136, 55, 57, 127 ], "missing_ranges": [ "55 (branch)", "57 (branch)", "68-76", "127-131" ] }, { "name": "src/pygithub_mcp_server/schemas/responses.py", "coverage": 78, "statements": 21, "missing": 3, "missing_lines": "23-25", "parsed_lines": [ 24, 25, 23 ], "missing_ranges": [ "23-25" ] }, { "name": "src/pygithub_mcp_server/schemas/repositories.py", "coverage": 79, "statements": 138, "missing": 18, "missing_lines": "29, 37, 45, 53, 71, 79, 87, 115, 122->127, 124, 126, 146-148, 164, 193, 211, 218->223, 220, 222", "parsed_lines": [ 146, 147, 148, 29, 164, 37, 45, 53, 193, 71, 79, 211, 87, 218, 220, 222, 115, 122, 124, 126 ], "missing_ranges": [ "122 (branch)", "146-148", "218 (branch)" ] }, { "name": "src/pygithub_mcp_server/tools/issues/tools.py", "coverage": 79, "statements": 183, "missing": 39, "missing_lines": "75-79, 112-113, 152-156, 193-197, 229-233, 304-308, 340-344, 376-380, 425-426", "parsed_lines": [ 152, 153, 154, 155, 156, 425, 426, 304, 305, 306, 307, 308, 193, 194, 195, 196, 197, 75, 76, 77, 78, 79, 340, 341, 342, 343, 344, 229, 230, 231, 232, 233, 112, 113, 376, 377, 378, 379, 380 ], "missing_ranges": [ "75-79", "112-113", "152-156", "193-197", "229-233", "304-308", "340-344", "376-380", "425-426" ] }, { "name": "src/pygithub_mcp_server/version.py", "coverage": 80, "statements": 10, "missing": 2, "missing_lines": "48, 56", "parsed_lines": [ 48, 56 ], "missing_ranges": [] }, { "name": "src/pygithub_mcp_server/schemas/base.py", "coverage": 82, "statements": 27, "missing": 3, "missing_lines": "23, 31, 48", "parsed_lines": [ 48, 31, 23 ], "missing_ranges": [] }, { "name": "src/pygithub_mcp_server/converters/issues/issues.py", "coverage": 83, "statements": 16, "missing": 2, "missing_lines": "46, 105", "parsed_lines": [ 105, 46 ], "missing_ranges": [] } ], "low_priority_modules": [ { "name": "src/pygithub_mcp_server/schemas/issues.py", "coverage": 86, "statements": 176, "missing": 16, "missing_lines": "43, 117->122, 153-156, 199, 207, 224, 252, 259->264, 261, 263, 295-298, 315, 341, 358", "parsed_lines": [ 259, 261, 263, 153, 154, 155, 156, 295, 296, 297, 298, 43, 315, 199, 207, 341, 224, 358, 117, 252 ], "missing_ranges": [ "117 (branch)", "153-156", "259 (branch)", "295-298" ] }, { "name": "src/pygithub_mcp_server/client/client.py", "coverage": 87, "statements": 61, "missing": 6, "missing_lines": "60, 91, 94, 122-124", "parsed_lines": [ 91, 124, 122, 123, 60, 94 ], "missing_ranges": [ "122-124" ] }, { "name": "src/pygithub_mcp_server/operations/issues.py", "coverage": 91, "statements": 196, "missing": 21, "missing_lines": "77, 214-226, 239-241, 245-246, 402-404", "parsed_lines": [ 402, 403, 404, 77, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 239, 240, 241, 245, 246 ], "missing_ranges": [ "214-226", "239-241", "245-246", "402-404" ] }, { "name": "src/pygithub_mcp_server/server.py", "coverage": 93, "statements": 25, "missing": 1, "missing_lines": "20", "parsed_lines": [ 20 ], "missing_ranges": [] }, { "name": "src/pygithub_mcp_server/client/rate_limit.py", "coverage": 94, "statements": 53, "missing": 3, "missing_lines": "32-34, 46->49", "parsed_lines": [ 32, 33, 34, 46 ], "missing_ranges": [ "32-34", "46 (branch)" ] }, { "name": "src/pygithub_mcp_server/__init__.py", "coverage": 100, "statements": 4, "missing": 0, "missing_lines": "", "parsed_lines": [], "missing_ranges": [] }, { "name": "src/pygithub_mcp_server/client/__init__.py", "coverage": 100, "statements": 3, "missing": 0, "missing_lines": "", "parsed_lines": [], "missing_ranges": [] }, { "name": "src/pygithub_mcp_server/config/__init__.py", "coverage": 100, "statements": 2, "missing": 0, "missing_lines": "", "parsed_lines": [], "missing_ranges": [] }, { "name": "src/pygithub_mcp_server/converters/__init__.py", "coverage": 100, "statements": 9, "missing": 0, "missing_lines": "", "parsed_lines": [], "missing_ranges": [] }, { "name": "src/pygithub_mcp_server/converters/common/__init__.py", "coverage": 100, "statements": 2, "missing": 0, "missing_lines": "", "parsed_lines": [], "missing_ranges": [] }, { "name": "src/pygithub_mcp_server/converters/issues/__init__.py", "coverage": 100, "statements": 3, "missing": 0, "missing_lines": "", "parsed_lines": [], "missing_ranges": [] }, { "name": "src/pygithub_mcp_server/converters/issues/comments.py", "coverage": 100, "statements": 6, "missing": 0, "missing_lines": "", "parsed_lines": [], "missing_ranges": [] }, { "name": "src/pygithub_mcp_server/converters/repositories/__init__.py", "coverage": 100, "statements": 3, "missing": 0, "missing_lines": "", "parsed_lines": [], "missing_ranges": [] }, { "name": "src/pygithub_mcp_server/converters/repositories/contents.py", "coverage": 100, "statements": 4, "missing": 0, "missing_lines": "", "parsed_lines": [], "missing_ranges": [] }, { "name": "src/pygithub_mcp_server/converters/repositories/repositories.py", "coverage": 100, "statements": 4, "missing": 0, "missing_lines": "", "parsed_lines": [], "missing_ranges": [] }, { "name": "src/pygithub_mcp_server/converters/users/__init__.py", "coverage": 100, "statements": 2, "missing": 0, "missing_lines": "", "parsed_lines": [], "missing_ranges": [] }, { "name": "src/pygithub_mcp_server/converters/users/users.py", "coverage": 100, "statements": 6, "missing": 0, "missing_lines": "", "parsed_lines": [], "missing_ranges": [] }, { "name": "src/pygithub_mcp_server/errors/__init__.py", "coverage": 100, "statements": 4, "missing": 0, "missing_lines": "", "parsed_lines": [], "missing_ranges": [] }, { "name": "src/pygithub_mcp_server/errors/exceptions.py", "coverage": 100, "statements": 21, "missing": 0, "missing_lines": "", "parsed_lines": [], "missing_ranges": [] }, { "name": "src/pygithub_mcp_server/operations/__init__.py", "coverage": 100, "statements": 2, "missing": 0, "missing_lines": "", "parsed_lines": [], "missing_ranges": [] }, { "name": "src/pygithub_mcp_server/schemas/__init__.py", "coverage": 100, "statements": 8, "missing": 0, "missing_lines": "", "parsed_lines": [], "missing_ranges": [] }, { "name": "src/pygithub_mcp_server/schemas/pull_requests.py", "coverage": 100, "statements": 10, "missing": 0, "missing_lines": "", "parsed_lines": [], "missing_ranges": [] }, { "name": "src/pygithub_mcp_server/schemas/search.py", "coverage": 100, "statements": 14, "missing": 0, "missing_lines": "", "parsed_lines": [], "missing_ranges": [] }, { "name": "src/pygithub_mcp_server/tools/issues/__init__.py", "coverage": 100, "statements": 2, "missing": 0, "missing_lines": "", "parsed_lines": [], "missing_ranges": [] }, { "name": "src/pygithub_mcp_server/tools/repositories/__init__.py", "coverage": 100, "statements": 5, "missing": 0, "missing_lines": "", "parsed_lines": [], "missing_ranges": [] }, { "name": "src/pygithub_mcp_server/utils/__init__.py", "coverage": 100, "statements": 2, "missing": 0, "missing_lines": "", "parsed_lines": [], "missing_ranges": [] } ] }

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/AstroMined/pygithub-mcp-server'

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