We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/jhigh1594/agileplace-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
#!/usr/bin/env python3
"""Verification script for AgilePlace MCP Server OKR tools."""
import sys
import os
def verify_tools():
"""Verify that OKR tools are properly configured."""
print("π Verifying AgilePlace MCP Server OKR Tools")
print("=" * 50)
# Check 1: Verify server.py exists and has OKR tools
print("\n1. Checking main server.py...")
if os.path.exists('server.py'):
with open('server.py', 'r') as f:
content = f.read()
okr_functions = [
'create_objective',
'create_key_result',
'update_objective',
'update_key_result',
'get_objectives_by_board_id',
'get_key_results_by_objective_id'
]
activity_functions = [
'connect_activities_to_key_result',
'create_activity',
'list_activities',
'list_activity_containers',
'search_activities',
'list_activity_types',
'search_users',
'get_current_user'
]
print(" β OKR Functions:")
for func in okr_functions:
if f'async def {func}' in content:
print(f" β {func}")
else:
print(f" β {func} - MISSING")
print(" β Activity Functions:")
for func in activity_functions:
if f'async def {func}' in content:
print(f" β {func}")
else:
print(f" β {func} - MISSING")
# Check for tool decorators
tool_count = content.count('@mcp.tool()')
print(f" β Tool decorators found: {tool_count}")
else:
print(" β server.py not found!")
return False
# Check 2: Verify tools directory structure
print("\n2. Checking tools directory...")
if os.path.exists('tools'):
tools_files = os.listdir('tools')
print(" β Tools directory exists")
print(" β Files:", [f for f in tools_files if f.endswith('.py')])
# Check for OKR modules
okr_files = [f for f in tools_files if 'okr' in f]
if 'okr.py' in tools_files and 'okr_activities.py' in tools_files:
print(" β OKR modules found")
else:
print(" β OKR modules missing!")
return False
else:
print(" β Tools directory not found!")
return False
# Check 3: Verify models
print("\n3. Checking models...")
if os.path.exists('models.py'):
print(" β models.py exists")
# Check for key models
with open('models.py', 'r') as f:
models_content = f.read()
key_models = ['Objective', 'KeyResult', 'WorkItemContainer', 'WorkItem']
for model in key_models:
if f'class {model}' in models_content:
print(f" β {model} model")
else:
print(f" β {model} model - MISSING")
else:
print(" β models.py not found!")
return False
# Check 4: Verify imports work
print("\n4. Testing imports...")
try:
sys.path.insert(0, '.')
# Test tool imports
from agileplace_mcp.tools import okr, okr_activities
print(" β Can import okr module")
print(" β Can import okr_activities module")
# Test model imports
from agileplace_mcp.models import Objective, KeyResult, WorkItemContainer
print(" β Can import models")
except ImportError as e:
print(f" β Import error: {e}")
return False
print("\nπ All checks passed!")
print("\nNext steps:")
print("1. Install FastMCP: pip install fastmcp")
print("2. Configure Claude Desktop with the updated server")
print("3. Restart Claude Desktop")
print("4. Try using the new OKR tools!")
return True
if __name__ == "__main__":
success = verify_tools()
if not success:
sys.exit(1)