Skip to main content
Glama

search_repository

Search GitHub repositories on Google CodeWiki to find and access documentation using repository names or owner/repo queries.

Instructions

Search for a GitHub repository on Google CodeWiki

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query for repository name or owner/repo format

Implementation Reference

  • Input schema definition for the 'search_repository' tool.
    {
      name: 'search_repository',
      description: 'Search for a GitHub repository on Google CodeWiki',
      inputSchema: {
        type: 'object',
        properties: {
          query: {
            type: 'string',
            description: 'Search query for repository name or owner/repo format',
          },
        },
        required: ['query'],
      },
    },
  • MCP server handler for 'search_repository' tool: validates input, delegates to CodeWikiClient.searchRepository, formats and returns results.
    case 'search_repository': {
      const query = (args as any)?.query;
      if (!query) {
        throw new Error('Query is required');
      }
      const results = await codeWikiClient.searchRepository(query);
      return {
        content: [
          {
            type: 'text',
            text: JSON.stringify(results, null, 2),
          },
        ],
      };
    }
  • Core logic for searching repositories: parses owner/repo queries, falls back to filtering featured repositories from CodeWiki.
    async searchRepository(query: string): Promise<{ repositories: RepositoryInfo[]; query: string }> {
      // Since CodeWiki doesn't have a public search API, we'll simulate search
      // by checking if the query matches known repositories or parsing search results
      const repositories: RepositoryInfo[] = [];
    
      // Try to parse the query as owner/repo format
      if (query.includes('/')) {
        const [owner, repo] = query.split('/');
        if (owner && repo) {
          const repoInfo = await this.getRepositoryInfo(owner.trim(), repo.trim());
          if (repoInfo) {
            repositories.push(repoInfo);
          }
        }
      }
    
      // If no exact match, try to search the CodeWiki homepage for featured repos
      if (repositories.length === 0) {
        const featuredRepos = await this.getFeaturedRepositories();
        const filtered = featuredRepos.filter(repo => 
          repo.repo.toLowerCase().includes(query.toLowerCase()) ||
          repo.owner.toLowerCase().includes(query.toLowerCase()) ||
          (repo.description && repo.description.toLowerCase().includes(query.toLowerCase()))
        );
        repositories.push(...filtered);
      }
    
      return {
        repositories,
        query,
      };
    }

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/cbuntingde/codewiki-mcp-server'

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