GitLab Public
liveDeveloperTechnologySearch and explore public GitLab projects and issues without authentication
Tools
search_projectsrequired: querySearch public GitLab projects by keyword, ordered by star count. Returns project ID, name, description, stars, forks, open issues count, and web URL.
queryreqstringSearch query stringlimitoptnumberNumber of results to return (default 10, max 100)Try it
get_projectrequired: idGet a public GitLab project by numeric ID or URL-encoded path (e.g., "gitlab-org%2Fgitlab"). Returns full project details including name, description, stars, forks, default branch, topics, and activity dates.
idreqstringProject numeric ID or URL-encoded path (e.g., "gitlab-org%2Fgitlab")Try it
search_issuesrequired: querySearch issues across all public GitLab projects. Returns issue title, state, author, labels, project ID, and URL.
queryreqstringSearch query for issue titles and descriptionslimitoptnumberNumber of results to return (default 10, max 100)Try it
Test with curl
The gateway speaks JSON-RPC 2.0 over HTTP POST. You can test any pack directly from the terminal.
curl -X POST https://gateway.pipeworx.io/gitlab-public/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'curl -X POST https://gateway.pipeworx.io/gitlab-public/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"search_projects","arguments":{"query": "hello"}}}'Use with the SDK
Install @pipeworx/sdk to call tools from any TypeScript/Node project.
import { Pipeworx } from '@pipeworx/sdk';
const px = new Pipeworx();
const result = await px.call("search_projects", {"query":"example"});// Or ask in plain English:
const answer = await px.ask("search and explore public gitlab projects and issues without authentication");