Skip to content

Generated Tools Reference

Complete reference for all tools generated by GitHub to MCP.

Universal Tools

These tools are included with every generated MCP server.

get_readme

Get the repository README content.

Property Value
Name get_readme
Source Universal
Always Included Yes (unless --no-universal)

Input Schema:

{
  "type": "object",
  "properties": {}
}

Output:

{
  "content": "# Repository Name\n\n..."
}


list_files

List files and directories in the repository.

Property Value
Name list_files
Source Universal
Always Included Yes (unless --no-universal)

Input Schema:

{
  "type": "object",
  "properties": {
    "path": {
      "type": "string",
      "description": "Directory path (default: root)",
      "default": ""
    },
    "recursive": {
      "type": "boolean",
      "description": "Include subdirectories",
      "default": false
    },
    "maxDepth": {
      "type": "integer",
      "description": "Maximum depth when recursive",
      "default": 3
    }
  }
}

Output:

{
  "files": [
    {
      "name": "src",
      "type": "directory",
      "path": "src"
    },
    {
      "name": "README.md",
      "type": "file",
      "path": "README.md",
      "size": 1234
    }
  ]
}


read_file

Read the contents of a file.

Property Value
Name read_file
Source Universal
Always Included Yes (unless --no-universal)

Input Schema:

{
  "type": "object",
  "properties": {
    "path": {
      "type": "string",
      "description": "Path to the file"
    },
    "encoding": {
      "type": "string",
      "description": "File encoding",
      "default": "utf-8",
      "enum": ["utf-8", "base64"]
    },
    "startLine": {
      "type": "integer",
      "description": "Start reading from line (1-indexed)"
    },
    "endLine": {
      "type": "integer",
      "description": "Stop reading at line (inclusive)"
    }
  },
  "required": ["path"]
}

Output:

{
  "content": "export function main() { ... }",
  "path": "src/index.ts",
  "encoding": "utf-8",
  "lineCount": 150
}


search_code

Search for patterns in the repository code.

Property Value
Name search_code
Source Universal
Always Included Yes (unless --no-universal)

Input Schema:

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Search query"
    },
    "path": {
      "type": "string",
      "description": "Limit search to this path"
    },
    "extension": {
      "type": "string",
      "description": "Filter by file extension (e.g., 'ts')"
    },
    "caseSensitive": {
      "type": "boolean",
      "description": "Case-sensitive search",
      "default": false
    },
    "maxResults": {
      "type": "integer",
      "description": "Maximum results to return",
      "default": 50
    }
  },
  "required": ["query"]
}

Output:

{
  "results": [
    {
      "path": "src/utils.ts",
      "line": 42,
      "content": "export function parseConfig(input: string) {",
      "context": {
        "before": ["// Configuration parser", ""],
        "after": ["  const json = JSON.parse(input);", "  return validate(json);"]
      }
    }
  ],
  "total": 3,
  "truncated": false
}


Extracted Tools

These tools are specific to each repository.

OpenAPI Tools

Generated from OpenAPI/Swagger specifications.

Naming: Uses operationId from spec, or generates {method}_{path}.

Example:

{
  "name": "create_customer",
  "description": "Create a new customer",
  "source": "openapi",
  "inputSchema": {
    "type": "object",
    "properties": {
      "email": { "type": "string" },
      "name": { "type": "string" },
      "metadata": { "type": "object" }
    },
    "required": ["email"]
  }
}


GraphQL Tools

Generated from GraphQL schemas.

Naming: query_{name} or mutation_{name}.

Example:

{
  "name": "query_user",
  "description": "Get user by ID",
  "source": "graphql",
  "inputSchema": {
    "type": "object",
    "properties": {
      "id": { "type": "string" }
    },
    "required": ["id"]
  }
}


MCP Tools

Extracted from existing MCP server repositories.

Naming: Preserves original tool names.

Example:

{
  "name": "analyze_sentiment",
  "description": "Analyze text sentiment",
  "source": "mcp",
  "inputSchema": {
    "type": "object",
    "properties": {
      "text": { "type": "string" },
      "language": { "type": "string", "default": "en" }
    },
    "required": ["text"]
  }
}


Tool Filtering

Include Specific Tools

github-to-mcp <url> --include-tools read_file,search_code

Exclude Tools

github-to-mcp <url> --exclude-tools get_readme

Skip Universal Tools

github-to-mcp <url> --no-universal

See Also