Skip to main content
Glama
Mulan Permissive Software License, Version 2
15
7

get_user_repository

Retrieve specific repository details from AtomGit by providing the owner and repository name, enabling targeted access to repository data.

Instructions

Search for AtomGit user repository

Input Schema

NameRequiredDescriptionDefault
ownerYesSearch query owner
repoYesSearch query repo

Input Schema (JSON Schema)

{ "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "owner": { "description": "Search query owner", "type": "string" }, "repo": { "description": "Search query repo", "type": "string" } }, "required": [ "owner", "repo" ], "type": "object" }

Implementation Reference

  • The core handler function that performs an API request to fetch the user repository details from AtomGit based on owner and repo parameters, logs the response, and parses it using the output schema.
    export async function getUserRepository( owner: string = '', repo: string = '' ) { const url = `https://api.atomgit.com/repos/${encodeURIComponent(owner.toString())}/${encodeURIComponent(repo.toString())}`; const response = await atomGitRequest(url.toString()); console.log("API Response:", JSON.stringify(response, null, 2)); return AtomGitGetUserRepositorySchema.parse(response); }
  • Input schema Zod definition for validating the tool's input parameters: owner and repo.
    export const getUserRepositorySchema = z.object({ owner: z.string().describe("Search query owner"), repo: z.string().describe("Search query repo"), });
  • index.ts:82-85 (registration)
    Tool registration in the MCP server's listTools handler, specifying name, description, and input schema.
    name: "get_user_repository", description: "Search for AtomGit user repository", inputSchema: zodToJsonSchema(repository.getUserRepositorySchema), },
  • index.ts:220-229 (registration)
    Dispatch handler in the MCP server's CallToolRequestSchema that parses arguments, calls the core handler, and formats the response as MCP content.
    case "get_user_repository": { const args = repository.getUserRepositorySchema.parse(request.params.arguments); const results = await repository.getUserRepository( args.owner, args.repo, ); return { content: [{ type: "text", text: JSON.stringify(results, null, 2) }], }; }
  • Output schema Zod definition used to parse the AtomGit API response for a single user repository.
    export const AtomGitGetUserRepositorySchema = z.object({ allowAutoMerge: z.boolean(), allowForking: z.boolean(), allowMergeCommit: z.boolean(), allowRebaseMerge: z.boolean(), allowSquashMerge: z.boolean(), allowUpdateBranch: z.boolean(), anonymousAccessEnabled: z.boolean(), archived: z.boolean(), codeOfConduct: z.union([z.string(), z.null()]), contributors_url: z.union([z.string(), z.null()]), createdAt: z.string(), default_branch: z.string(), deleteBranchOnMerge: z.boolean(), deployments_url: z.union([z.string(), z.null()]), description: z.union([z.string(), z.null()]), disabled: z.boolean(), downloads_url: z.union([z.string(), z.null()]), events_url: z.union([z.string(), z.null()]), fork: z.boolean(), forks: z.number(), forksCount: z.number(), forks_url: z.union([z.string(), z.null()]), full_name: z.string(), hasDiscussions: z.boolean(), hasDownloads: z.boolean(), hasIssues: z.boolean(), hasPages: z.boolean(), hasProjects: z.boolean(), hasWiki: z.boolean(), homepage: z.union([z.string(), z.null()]), hooksUrl: z.union([z.string(), z.null()]), html_url: z.string(), id: z.number(), isTemplate: z.boolean(), languages_url: z.union([z.string(), z.null()]), license: z.union([z.string(), z.null()]), mergeCommitMessage: z.union([z.string(), z.null()]), mergeCommitTitle: z.union([z.string(), z.null()]), merges_url: z.union([z.string(), z.null()]), mirrorUrl: z.union([z.string(), z.null()]), name: z.string(), organization: z.union([z.string(), z.null()]), owner: z.union([z.string(), z.null()]), parent: z.union([z.string(), z.null()]), permissions: z.union([z.string(), z.null()]), private: z.boolean(), pushedAt: z.union([z.string(), z.null()]), securityAndAnalysis: z.union([z.string(), z.null()]), source: z.union([z.string(), z.null()]), squashMergeCommitMessage: z.union([z.string(), z.null()]), squashMergeCommitTitle: z.union([z.string(), z.null()]), stargazers_url: z.union([z.string(), z.null()]), subscribers_url: z.union([z.string(), z.null()]), subscription_url: z.union([z.string(), z.null()]), svnUrl: z.union([z.string(), z.null()]), tagsUrl: z.union([z.string(), z.null()]), teamsUrl: z.union([z.string(), z.null()]), templateRepository: z.union([z.string(), z.null()]), topics: z.array(z.string()), updatedAt: z.string(), url: z.string(), useSquashPrTitleAsDefault: z.boolean(), visibility: z.string(), webCommitSignoffRequired: z.boolean(), });

Latest Blog Posts

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/kaiyuanxiaobing/atomgit-mcp-server'

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