{"apiVersion":"v1","directorySlug":"hackshackers-mcp-7005a29c10","title":"Hacks/Hackers","description":"Where journalists and technologists build together to strengthen public information, through events, hands-on AI programs and open-source tools","pageUrl":"https://www.mcpbundles.com/skills/hackshackers-mcp-7005a29c10","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://www.hackshackers.com/mcp","hostedMcpUrl":null,"toolCount":12,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"com.hackshackers/hackshackers-mcp-7005a29c10","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"search_site","description":"Search Hacks/Hackers posts and site pages by keyword. Every word must match, case-insensitive, at the start of a word ('election' also matches 'elections'). Posts are matched on title, slug and excerpt; the excerpt is the editor's summary or the first 500 characters of the body, so text deeper in a long post is not searched. Pages are matched on title, slug and full text. Title and slug matches rank first, then most recently updated. Each result has type 'post' or 'page', plus title, URL, excerp","inputSchema":{"type":"object","required":["query"],"properties":{"type":{"enum":["all","post","page"],"type":"string"},"limit":{"type":"integer","maximum":20,"minimum":1},"query":{"type":"string"}}},"logicalName":"search_site","displayName":"search_site","title":"search_site","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_post","description":"Retrieve the full content of a single Hacks/Hackers post by its slug. Returns title, URL, published date, author, tags, excerpt, plaintext body, and HTML body. Site pages such as /about/ are not posts; use get_page for those.","inputSchema":{"type":"object","required":["slug"],"properties":{"slug":{"type":"string"}}},"logicalName":"get_post","displayName":"get_post","title":"get_post","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"list_recent","description":"List the most recent Hacks/Hackers posts, optionally filtered by a tag slug. Ordered newest first.","inputSchema":{"type":"object","properties":{"tag":{"type":"string"},"limit":{"type":"integer","maximum":50,"minimum":1}}},"logicalName":"list_recent","displayName":"list_recent","title":"list_recent","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"list_by_author","description":"List posts by a specific Hacks/Hackers author, newest first. Use get_author first if you need to find the right slug.","inputSchema":{"type":"object","required":["author"],"properties":{"limit":{"type":"integer","maximum":50,"minimum":1},"author":{"type":"string"}}},"logicalName":"list_by_author","displayName":"list_by_author","title":"list_by_author","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"list_by_tag","description":"List posts with a specific tag, newest first. Use get_tag or the hh://tags resource to find available tag slugs.","inputSchema":{"type":"object","required":["tag"],"properties":{"tag":{"type":"string"},"limit":{"type":"integer","maximum":50,"minimum":1}}},"logicalName":"list_by_tag","displayName":"list_by_tag","title":"list_by_tag","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"list_by_date_range","description":"List Hacks/Hackers posts published within a date range (inclusive), newest first. Dates in YYYY-MM-DD format.","inputSchema":{"type":"object","required":["start","end"],"properties":{"end":{"type":"string"},"limit":{"type":"integer","maximum":100,"minimum":1},"start":{"type":"string"}}},"logicalName":"list_by_date_range","displayName":"list_by_date_range","title":"list_by_date_range","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_author","description":"Retrieve an author's profile: name, bio, website, location, post count, and URL.","inputSchema":{"type":"object","required":["slug"],"properties":{"slug":{"type":"string"}}},"logicalName":"get_author","displayName":"get_author","title":"get_author","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_tag","description":"Retrieve a tag: name, description, post count, and URL. Useful for confirming a tag exists and getting its description before querying list_by_tag.","inputSchema":{"type":"object","required":["slug"],"properties":{"slug":{"type":"string"}}},"logicalName":"get_tag","displayName":"get_tag","title":"get_tag","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"list_newsletters","description":"List recent Hacks/Hackers newsletter issues, newest first. Newsletters are a specific post type within the publication, tagged 'newsletter'.","inputSchema":{"type":"object","properties":{"limit":{"type":"integer","maximum":50,"minimum":1}}},"logicalName":"list_newsletters","displayName":"list_newsletters","title":"list_newsletters","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_newsletter","description":"Retrieve the full content of a newsletter issue by slug. Equivalent to get_post but semantically clearer when working with newsletters.","inputSchema":{"type":"object","required":["slug"],"properties":{"slug":{"type":"string"}}},"logicalName":"get_newsletter","displayName":"get_newsletter","title":"get_newsletter","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"list_pages","description":"List every Hacks/Hackers site page (not posts), sorted by title. Pages cover the organization, programs, events, donating and contact details. Returns title, slug, URL, last-updated time, and a short excerpt for each; pass a slug to get_page for the full content.","inputSchema":{"type":"object","properties":{}},"logicalName":"list_pages","displayName":"list_pages","title":"list_pages","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_page","description":"Retrieve a Hacks/Hackers site page (not a post) by its slug, e.g. 'about' for https://www.hackshackers.com/about/. Use list_pages to see available slugs. Same response shape as get_post.","inputSchema":{"type":"object","required":["slug"],"properties":{"slug":{"type":"string"}}},"logicalName":"get_page","displayName":"get_page","title":"get_page","annotations":{"untrustedContentHint":true,"readOnlyHint":true}}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=Hacks-Hackers&config=eyJ1cmwiOiAiaHR0cHM6Ly93d3cuaGFja3NoYWNrZXJzLmNvbS9tY3AifQ%3D%3D"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22Hacks-Hackers%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fwww.hackshackers.com%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22Hacks-Hackers%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fwww.hackshackers.com%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=Hacks%2FHackers&connectorUrl=https%3A%2F%2Fwww.hackshackers.com%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"Hacks-Hackers\" --url \"https://www.hackshackers.com/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/hackshackers-mcp-7005a29c10","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/hackshackers-mcp-7005a29c10/tools/{tool}","mcpServerUrl":"https://www.hackshackers.com/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/hackshackers-mcp-7005a29c10?live=1"}