MatteoMass's picture
removed the tokens from env
9ad58d0
"""
Repository-level stats tool.
"""
from mcp.server.fastmcp import Context
from pmcp.mcp_server.github_server.services.repo import RepoService
from pmcp.mcp_server.github_server.github import github_client
service = RepoService(github_client)
async def get_repo_stats(ctx: Context, owner: str, repo: str):
"""
Gets the statistics of the repository
Args:
ctx: FastMCP request context (handles errors).
owner (str): Repository owner.
repo (str): Repository name.
Returns:
{"stars": 0, "forks": 0, "watchers": 0, "open_issues": 0}
"""
try:
data = await service.get_stats(owner, repo)
return {
"stars": data["stargazers_count"],
"forks": data["forks_count"],
"watchers": data["watchers_count"],
"open_issues": data["open_issues_count"],
}
except Exception as exc:
error_msg = f"Failed to get statistics of repository {repo}. Error: {str(exc)}"
await ctx.error(str(exc))
raise