Skip to main content
Glama
test_tools.py2.81 kB
#!/usr/bin/env python3 """Test script to verify GitLab MCP tools return proper CallToolResult objects.""" import asyncio import sys from decouple import config from mcp.types import CallToolResult from tools.get_merge_request_details import get_merge_request_details from tools.get_merge_request_reviews import get_merge_request_reviews from tools.list_merge_requests import list_merge_requests GITLAB_URL = config("GITLAB_URL", default="https://git.partnerz.io") PROJECT_ID = config("GITLAB_PROJECT_ID", default="237") ACCESS_TOKEN = config("GITLAB_ACCESS_TOKEN", default="") async def test_list_merge_requests(): """Test list_merge_requests tool.""" print("Testing list_merge_requests...") args = {"state": "opened", "limit": 2} result = await list_merge_requests(GITLAB_URL, PROJECT_ID, ACCESS_TOKEN, args) print(f"Result type: {type(result)}") print(f"Is CallToolResult: {isinstance(result, CallToolResult)}") if isinstance(result, CallToolResult): print(f"isError: {result.isError}") print(f"Content type: {type(result.content)}") if result.content: print(f"First content item: {result.content[0].text[:100]}...") print("=" * 50) async def test_get_merge_request_details(): """Test get_merge_request_details tool.""" print("Testing get_merge_request_details...") args = {"merge_request_iid": 1047} result = await get_merge_request_details(GITLAB_URL, PROJECT_ID, ACCESS_TOKEN, args) print(f"Result type: {type(result)}") print(f"Is CallToolResult: {isinstance(result, CallToolResult)}") if isinstance(result, CallToolResult): print(f"isError: {result.isError}") print(f"Content type: {type(result.content)}") if result.content: print(f"First content item: {result.content[0].text[:100]}...") print("=" * 50) async def test_get_merge_request_reviews(): """Test get_merge_request_reviews tool.""" print("Testing get_merge_request_reviews...") args = {"merge_request_iid": 1047} result = await get_merge_request_reviews(GITLAB_URL, PROJECT_ID, ACCESS_TOKEN, args) print(f"Result type: {type(result)}") print(f"Is CallToolResult: {isinstance(result, CallToolResult)}") if isinstance(result, CallToolResult): print(f"isError: {result.isError}") print(f"Content type: {type(result.content)}") if result.content: print(f"Full content: {result.content[0].text}") print("=" * 50) async def main(): """Run all tests.""" if not ACCESS_TOKEN: print("Error: GITLAB_ACCESS_TOKEN not set") sys.exit(1) await test_list_merge_requests() await test_get_merge_request_details() await test_get_merge_request_reviews() if __name__ == "__main__": asyncio.run(main())

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/amirsina-mandegari/gitlab-mcp-server'

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