maldives-gazette-mcp

maldives-gazette-mcp

A read-only MCP server for the official Maldives Government Gazette, enabling search and retrieval of gazette records and Iulaan announcements, including attachments.

Category
Visit Server

README

Maldives Gazette MCP

A portable, read-only Model Context Protocol server for the official Maldives Government Gazette:

https://www.gazette.gov.mv/gazette

It is agent-agnostic: every MCP-compatible client launches the same TypeScript/Node.js stdio server. No Python, virtualenv, account, cookie, API key, or hosted service is required.

What it exposes

Tool Purpose
gazette_status Check live reachability and HTTP status.
latest_homepage_feed Read the newest Gazette and Iulaan cards shown on the official homepage.
crawl_gazette_archive / crawl_iulaan_archive Crawl bounded archive pages with filters, deduplication, page counts, and stop reasons.
research_domains List broad official research coverage.
search_general_research Search Gazette and Iulaan together for broad public research.
search_laws_regulations Search legal and policy Gazette categories together.
search_public_notices Search general Iulaan notices and public-information records.
gazette_categories List decoded Gazette categories and URL values.
gazette_filter_schema Read the live Gazette form and its fields.
search_gazette / search_gazette_advanced Search by category, volume, issue, query, date range, and page.
get_gazette Read a record with structured ID, title, publication date, volume, issue, PDF, links, and visible text.
get_gazette_print Read the Gazette detail page; the public site has no separate Gazette print route.
read_gazette_pdf Extract text from an official Gazette PDF.
search_gazette_pdf Search terms inside an official Gazette PDF.
browse_gazette Browse a public Gazette path or page.
iulaan_categories List decoded announcement and job-category values.
iulaan_filter_schema Read the live Iulaan form and its fields.
translate_iulaan_query Show standard Dhivehi Thaana query variants.
list_iulaan_offices Discover public office/issuer filter links.
search_iulaan / search_iulaan_advanced Search by announcement type, job category, office, query, dates, open status, and page.
browse_iulaan_pages Browse a filtered Iulaan page with pagination.
get_iulaan Read full posting text, employer, print URL, and attachments.
get_iulaan_print Read the official Iulaan print view.
list_iulaan_attachments List official TOR/application documents.
read_iulaan_attachment Extract text from official PDF/DOCX attachments.
search_iulaan_attachment_text Search terms inside an official attachment.

The server allowlists Gazette record pages, official Gazette Storage attachments, and official CSC /download/ attachments. It never logs in, posts, edits, contacts anyone, or changes the source site.

Install

Node.js 20+ is required.

git clone https://github.com/Rayyan011/maldives-gazette-mcp.git
cd maldives-gazette-mcp
npm install
npm run build

The portable MCP command is:

node /absolute/path/to/maldives-gazette-mcp/dist/server.js

Verify

Run the real Node MCP protocol test:

npm run test:protocol

Client setup

All examples below use:

  • NODE: /absolute/path/to/node
  • SERVER: /absolute/path/to/maldives-gazette-mcp/dist/server.js

Claude Code

claude mcp add maldives-gazette -- NODE SERVER

Or project .mcp.json:

{
  "mcpServers": {
    "maldives-gazette": {
      "command": "/absolute/path/to/node",
      "args": ["/absolute/path/to/maldives-gazette-mcp/dist/server.js"]
    }
  }
}

Codex CLI

codex mcp add maldives-gazette -- NODE SERVER

Or add the equivalent stdio server to Codex's MCP configuration using the JSON shape shown above.

Cursor

Add this to Cursor's MCP settings or .cursor/mcp.json:

{
  "mcpServers": {
    "maldives-gazette": {
      "command": "/absolute/path/to/node",
      "args": ["/absolute/path/to/maldives-gazette-mcp/dist/server.js"]
    }
  }
}

Claude Desktop

Add the same mcpServers entry to Claude Desktop's claude_desktop_config.json.

Gemini CLI

Register the same command as a local stdio MCP server in Gemini CLI's MCP settings. The server name should be maldives-gazette.

Windsurf

Add the same JSON entry to Windsurf's MCP configuration (mcp_config.json).

Cline / Roo Code

Use the MCP settings UI and add a stdio server:

  • Name: maldives-gazette
  • Command: NODE
  • Arguments: SERVER

VS Code MCP

Add the equivalent mcp server entry in the workspace or user MCP configuration, using the same command and args.

Goose / Continue / other clients

Choose stdio/local MCP server and use:

command: NODE
args: SERVER

The MCP protocol is the compatibility layer; no client-specific code is inside this repository.

Hermes Agent

printf 'y\n' | hermes mcp add maldives-gazette \
  --command NODE \
  --connect-timeout 30 \
  --args SERVER
hermes mcp test maldives-gazette

Usage examples

Read the homepage's newest official records:

Use latest_homepage_feed with source="all" and max_results=10.

Crawl a bounded archive safely:

Use crawl_iulaan_archive with announcement_type="masakkaiy", from_page=1, max_pages=10, max_results=200.

Search the latest regulations:

Use search_gazette with category="gavaaidhu" and max_results=10.

Search by a record number or Dhivehi phrase:

Use search_gazette with query="66-އާރ/2026".

Read one record:

Use get_gazette with url_or_id="7539".

For legal or policy research, treat the linked official PDF as the authoritative document. A Gazette title alone does not establish current validity, repeal status, or legal effect.

Included skills

The repository also includes portable, agent-agnostic skills under skills/:

These are plain SKILL.md files and can be copied into Hermes, Claude Code, Codex, Cursor, or another agent's skill directory. They use the same MCP but remain separate workflows.

Repository guidance

See AGENTS.md for setup, safety boundaries, testing requirements, and contribution rules.

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured