Skip to main content
Glama
repository.ts1.76 kB
/** * リポジトリの検索、作成、管理を行うGitHubリポジトリ操作。 */ import { z } from 'zod' import { githubRequest, buildUrl, validateRepositoryName, } from '../common/utils' import { GitHubRepositorySchema } from '../common/types' // リポジトリスキーマの定義 export const SearchRepositoriesSchema = z.object({ query: z.string().describe('Search query'), page: z.number().optional().describe('Page number'), perPage: z.number().optional().describe('Results per page'), }) export const CreateRepositoryOptionsSchema = z.object({ name: z.string().describe('Repository name'), description: z.string().optional().describe('Repository description'), private: z.boolean().optional().describe('Create as private repository'), auto_init: z.boolean().optional().describe('Auto-initialize with README.md'), gitignore_template: z.string().optional().describe('.gitignore template'), license_template: z.string().optional().describe('License template'), }) /** * GitHubリポジトリを検索 */ export async function searchRepositories( query: string, page?: number, perPage?: number, ) { const url = buildUrl(`https://api.github.com/search/repositories`, { q: query, page: page, per_page: perPage, }) const response = await githubRequest(url) return response } /** * 新しいGitHubリポジトリを作成 */ export async function createRepository( options: z.infer<typeof CreateRepositoryOptionsSchema>, ) { // Validate repository name options.name = validateRepositoryName(options.name) const response = await githubRequest(`https://api.github.com/user/repos`, { method: 'POST', body: options, }) return GitHubRepositorySchema.parse(response) }

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/drapon/claude-mcp-servers'

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