mcpField
M
MAQAMI Travel

MAQAMI Travel

Remote
maqami.coFinance2Updated 2w ago

About MAQAMI Travel

MAQAMI Travel is an MCP server for travelers and booking workflows, with live hotel and flight search and a checkout link for a selected offer. Customers complete booking and payment on MAQAMI’s website.

Key features

  1. 01Search live hotel rates
  2. 02Search live flight offers
  3. 03Look up city, airport, and hotel details
  4. 04Prebook offers and return checkout links
  5. 05No API key required

Use cases

  1. 01Find hotel options for a trip
  2. 02Compare available flights
  3. 03Check hotel amenities and reviews
  4. 04Send a selected offer to MAQAMI checkout

MCP support

Exposes hotel and flight search, detail lookup, verification, and prebooking tools to MCP clients. It is available over Streamable HTTP, with an npm stdio bridge for clients that require stdio.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://mcp.maqami.co/
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

Packages
npmmaqami-travel1.0.9

Tools

41
ParameterTypeRequiredDescription
zipstringNoThe zip code of the search location. This is a filter on top of the main query.
feedstringNoWhich rate feed to search. Leave unset to use the default feed.
sortarrayNoSorting criteria for the results. Multiple criteria can be provided, processed in order. The default sorting is by top picks (weighted by search popularity, review quality, and content completeness). Use 'revenue' to sort by historical booking value and monetary performance.
limitintegerNoThe maximum number of results to return. Defaults to 200, max allowed is 5000.
offsetintegerNoThe number of results to skip for pagination. This paginates the passed hotels not the results returned so the actual returned results will vary.
radiusintegerNoThe search radius in meters for location-based searches. Pairs with latitude to do a lat/long search.
streambooleanNoIf true, enables streaming mode where response data is sent incrementally instead of as a single payload.
checkinstringYesThe check-in date in YYYY-MM-DD format (ISO 8601).
placeIdstringNoThe unique Place ID of the search location. Instead of using hotel IDs, pass a Place ID to get all the hotels in the specified region. This is a valid main query.
timeoutintegerNoThe maximum time in seconds before the request times out. This is when the live request for rates will cut off responses; it will take a few more ms to return the value.
aiSearchstringNoAI-powered hotel search based on a natural language query. Uses semantic search to find hotels matching the query intent. Examples: 'Romantic getaway with Italian vibes in London near the London Eye', 'hotels near Paris'. This is a valid main query.
bedTypesarrayNoFilter results by bed types extracted from room names. Only rates from rooms matching the specified bed types will be returned. Example values: 'double', 'twin', 'king', 'queen', 'single'.
chainIdsarrayNoAn array of hotel chain IDs to filter the search results. This is a filter on top of the main query.
checkoutstringYesThe check-out date in YYYY-MM-DD format (ISO 8601).
cityNamestringNoThe name of the city to search for hotels in. Pairs with countryCode to do a country/city search.
currencystringYesThe currency in which the prices will be displayed.
hotelIdsarrayNoAn array of hotel IDs to search for availability and pricing. Get them from `get_data_hotels` or `get_data_hotel_search`.
iataCodestringNoThe IATA code of the search location, typically an airport code. Instead of using hotel IDs, you can search by IATA code. This is a valid main query.
latitudenumberNoThe latitude coordinate for location-based hotel searches. Instead of using hotel IDs, you can search by lat/long and a radius around that spot. This is a valid main query.
boardTypestringNoFilter results by board type(s). Can be a single value (e.g., 'BI') or comma-separated values (e.g., 'BI,HB') for OR logic. Example values: RO (Room Only), BI (Breakfast Included), HB (Half Board), FB (Full Board), AI (All Inclusive), DI (Dinner Included), LI (Lunch Included), BDI (Breakfast and Dinner Included), BLI (Breakfast and Lunch Included), LDI (Lunch and Dinner Included).
hotelNamestringNoA case-insensitive search for a hotel's name (e.g., 'Hilton').
longitudenumberNoThe longitude coordinate for location-based hotel searches. Pairs with latitude to do a lat/long search.
minRatingnumberNoThe minimum rating (on a scale of 0-5) required for hotels in search results. This is a filter on top of the main query.
sessionIdstringNoOptional client-generated session identifier that ensures price consistency for the user's search session. Pass the same `sessionId` with the same `checkin` and `checkout` across related requests in that session.
facilitiesarrayNoAn array of facility IDs. Results will include hotels with at least one of these facilities by default. This is a filter on top of the main query.
starRatingarrayNoAn array of hotel star ratings to include. Ratings are rounded to the nearest half-star (e.g., [3.5, 4.0, 4.5, 5.0]). This is a filter on top of the main query.
countryCodestringNoThe country code in ISO 2-letter format (e.g., 'SG' for Singapore). Instead of using hotel IDs, you can search by country/city. This is a valid main query.
occupanciesarrayYesAn array of objects specifying the number of guests per room. Required.
roomMappingbooleanNoEnable room mapping to retrieve the mappedRoomId for each room. This allows you to link a rate to its specific room by combining it with hotel details, providing access to room images and additional information
hotelTypeIdsarrayNoAn array of hotel type IDs to filter the search results. This is a filter on top of the main query.
roomAmenitiesarrayNoLegacy room-level amenity filter. Only rates from rooms that match the specified amenities will be returned. Use amenityFilterLogic to control flat AND/OR behavior. If roomAmenitiesFilter is provided, it takes precedence over this field.
loyaltyProgramstringNoLoyalty program identifier used to request loyalty-eligible rates from supported suppliers. When set, rates that support the program may return member pricing and benefits.
minReviewsCountintegerNoThe minimum number of reviews a hotel must have to be included in results. This is a filter on top of the main query.
guestNationalitystringYesThe guest's nationality in ISO 2-letter country code format.
includeHotelDatabooleanNoIf `true`, includes hotel data (name, main photo, address, rating) in the response even when searching by direct hotel IDs. By default, hotel data is only included when searching by filters (e.g., using `aiSearch`, `countryCode`, `cityName`, etc.). Setting this to `true` enables hotel data inclusion for all search types.
maxRatesPerHotelintegerNoThe number of room rates to return per hotel, sorted by price (cheapest first). Set to 1 to just get the cheapest rate for each hotel, this is helpful for listing pages. Try increasing this if you are missing rate types, and be aware that the cap is applied before room mapping.
amenityFilterLogicenumNoLegacy logic applied to roomAmenities. 'AND': room must have all specified amenities. 'OR': room must have at least one specified amenity. Ignored when roomAmenitiesFilter is provided.AND | OR
refundableRatesOnlybooleanNoIf true, only refundable rates (RFN) will be included in the response.
roomAmenitiesFilterstringNoGrouped room-level amenity filter. Use '-' for OR within a group and ',' for AND across groups. Example: '1-2,3-4' means (1 OR 2) AND (3 OR 4). If provided, this field takes precedence over roomAmenities and amenityFilterLogic.
loyaltyProgramDetailsarrayNoLoyalty membership details forwarded to supported suppliers to unlock member rates and benefits. Provide one entry per loyalty program membership.
strictFacilityFilteringbooleanNoIf enabled, only hotels with all specified facilities will be returned.
advancedAccessibilityOnlybooleanNoIf true, only hotels with advanced accessibility features will be returned.

Details

From the project README

MAQAMI Travel MCP Server

Official MCP Registry npm version License: MIT Transport: Streamable HTTP MAQAMI Travel MCP server on Glama

Official MCP server for MAQAMI, a hotel and flight booking platform with 3M+ hotels. Search live hotel rates and flights, look up cities, airports and hotel details, then send the customer a secure checkout link on book.maqami.co for the exact room or fare they chose. Remote Streamable HTTP endpoint, no API key required.

https://mcp.maqami.co/

Quick start

Pick your client. Each line is enough to connect; the full steps are under Connect.

ClientFastest way to connect
Claude Codeclaude mcp add --transport http maqami-travel https://mcp.maqami.co/
Claude Desktop (one click)Download maqami-travel.mcpb and open it (steps)
Any stdio client (npm)npx -y maqami-travel as the server command (config); Node.js 18+
claude.ai, Claude Desktop and Claude mobileCustomize → Connectors → Add custom connector, URL https://mcp.maqami.co/, No sign in. Works on the Free plan (steps)
CursorAdd to Cursor (one click), or add "maqami-travel": { "url": "https://mcp.maqami.co/" } to mcp.json
VS CodeInstall in VS Code (one click), or code --add-mcp '{"name":"maqami-travel","type":"http","url":"https://mcp.maqami.co/"}'
WindsurfAdd "maqami-travel": { "serverUrl": "https://mcp.maqami.co/" } to mcp_config.json
Gemini CLIgemini extensions install https://github.com/negm17111995/mcp-server
OpenAI Codexcodex mcp add maqami-travel --url https://mcp.maqami.co/
ChatGPTDeveloper mode → create an app with URL https://mcp.maqami.co/ and No Authentication (steps and plans)
OpenAI Agents SDKMCPServerStreamableHttp(name="MAQAMI Travel", params={"url": "https://mcp.maqami.co/"})
LangChainMCPAdapter("https://mcp.maqami.co/") from langchain.mcp (example)
n8nMCP Client Tool node, endpoint https://mcp.maqami.co/, HTTP Streamable, no authentication (steps)
ClineMCP Servers → Remote Servers, URL https://mcp.maqami.co/, Streamable HTTP
LM StudioAdd "maqami-travel": { "url": "https://mcp.maqami.co/" } to mcp.json, or use the install link
Booking skill only (Claude Code, Codex, Cursor and other skill-aware agents)npx skills add negm17111995/mcp-server
Any other clientStreamable HTTP at https://mcp.maqami.co/ with no auth, or npx -y maqami-travel for stdio-only clients

Then try: "Find 4-star hotels in Lisbon for 2 adults, 12 to 15 May."

Contents

Connect

The server is hosted at https://mcp.maqami.co/ and uses the Streamable HTTP transport. There is nothing to install and no API key to configure.

Claude (claude.ai and Claude Desktop)

Add MAQAMI as a custom connector:

  1. Go to Customize → Connectors.
  2. Click + Add, then Add custom connector.
  3. Enter the name MAQAMI Travel and the URL https://mcp.maqami.co/, then click Continue.
  4. Under Authentication, choose No sign in, then click Add.

This works on every Claude plan, including Free. Free accounts can have one custom connector at a time.

On Team and Enterprise plans, an Owner adds the connector under Organization settings → Connectors first.

Claude Desktop extension

A one-click install for Claude Desktop on macOS, Windows and Linux. It doesn't use a custom connector slot, so it also suits Free accounts that already have one.

  1. Download maqami-travel.mcpb.
  2. Open the file, or drag it into Claude Desktop under Settings → Extensions.
  3. Click Install.

The extension runs the same stdio bridge as the npm package and connects to https://mcp.maqami.co/. Claude Desktop provides Node.js, so there is nothing else to install.

Claude Code
claude mcp add --transport http maqami-travel https://mcp.maqami.co/

Or install the plugin, which adds the server and a booking skill that walks Claude through search, confirmation and the checkout link:

/plugin marketplace add negm17111995/mcp-server
/plugin install maqami-travel@maqami
Cursor

Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project):

{
  "mcpServers": {
    "maqami-travel": {
      "url": "https://mcp.maqami.co/"
    }
  }
}

Or install with one click: Add to Cursor. The same install as a deeplink, to open in your browser:

cursor://anysphere.cursor-deeplink/mcp/install?name=maqami-travel&config=eyJ1cmwiOiJodHRwczovL21jcC5tYXFhbWkuY28vIn0=
VS Code

Add to .vscode/mcp.json in your workspace:

{
  "servers": {
    "maqami-travel": {
      "type": "http",
      "url": "https://mcp.maqami.co/"
    }
  }
}

Or install in VS Code with one click, or add it to your user profile from the command line:

code --add-mcp '{"name":"maqami-travel","type":"http","url":"https://mcp.maqami.co/"}'
Cline

In the Cline panel, open MCP Servers → Remote Servers, enter the URL https://mcp.maqami.co/ and choose Streamable HTTP. Or add it to the MCP settings JSON:

{
  "mcpServers": {
    "maqami-travel": {
      "type": "streamableHttp",
      "url": "https://mcp.maqami.co/"
    }
  }
}
LM Studio

LM Studio 0.3.17 and later can use MCP servers. Open the Program tab in the right-hand sidebar, choose Install → Edit mcp.json, and add:

{
  "mcpServers": {
    "maqami-travel": {
      "url": "https://mcp.maqami.co/"
    }
  }
}

Or install it by opening this link in your browser:

lmstudio://add_mcp?name=maqami-travel&config=eyJ1cmwiOiJodHRwczovL21jcC5tYXFhbWkuY28vIn0%3D

Local models have smaller context windows, so consider turning off the tools you don't need (see the FAQ).

Windsurf

Open mcp_config.json from the … menu in the Cascade panel (Open MCP config file) and add:

{
  "mcpServers": {
    "maqami-travel": {
      "serverUrl": "https://mcp.maqami.co/"
    }
  }
}

On current releases the file is at ~/.config/devin/mcp_config.json (macOS and Linux) or %APPDATA%\devin\mcp_config.json (Windows). Older releases use ~/.codeium/windsurf/mcp_config.json.

ChatGPT

Developer mode apps are available on the web for Plus, Pro, Business, Enterprise and Education accounts. On the Free plan, ChatGPT shows only apps published in its app directory.

  1. Open Settings → Security and login and turn on Developer mode.
  2. Open Plugins, select the + button and create a developer-mode app.
  3. Enter the name MAQAMI Travel and the URL https://mcp.maqami.co/, and choose No Authentication.
  4. In a conversation, choose Developer mode from the + menu and select MAQAMI Travel.
OpenAI Codex
codex mcp add maqami-travel --url https://mcp.maqami.co/

Or add to ~/.codex/config.toml:

[mcp_servers.maqami-travel]
url = "https://mcp.maqami.co/"
Gemini CLI

Install the extension, which adds the server and its context file:

gemini extensions install https://github.com/negm17111995/mcp-server

Or add only the server:

gemini mcp add --transport http maqami-travel https://mcp.maqami.co/

Or add to ~/.gemini/settings.json:

{
  "mcpServers": {
    "maqami-travel": {
      "httpUrl": "https://mcp.maqami.co/"
    }
  }
}
OpenAI Agents SDK (Python)
import asyncio

from agents import Agent, Runner
from agents.mcp import MCPServerStreamableHttp


async def main() -> None:
    async with MCPServerStreamableHttp(
        name="MAQAMI Travel",
        params={"url": "https://mcp.maqami.co/"},
    ) as maqami:
        agent = Agent(name="Travel assistant", mcp_servers=[maqami])
        result = await Runner.run(agent, "Find 4-star hotels in Lisbon for 2 adults, 12 to 15 May.")
        print(result.final_output)


asyncio.run(main())
LangChain (Python)

LangChain 1.x includes MCP support in langchain.mcp (beta). Install with pip install langchain langchain-openai:

import asyncio

from langchain.agents import create_agent
from langchain.mcp import MCPAdapter


async def main() -> None:
    async with MCPAdapter("https://mcp.maqami.co/") as maqami:
        tools = await maqami.list_tools()
        agent = create_agent("openai:gpt-5.4-mini", tools)
        result = await agent.ainvoke(
            {"messages": [{"role": "user", "content": "Which airports serve Tokyo?"}]}
        )
        print(result["messages"][-1].content)


asyncio.run(main())

For a version that asks for your approval before any prebook, see travel-agent-examples/langchain-python.

n8n
  1. Add an AI Agent node to your workflow.
  2. Under Tools, add an MCP Client Tool node.
  3. Set the endpoint to https://mcp.maqami.co/, choose HTTP Streamable as the server transport (if your n8n version shows the option) and None for authentication.
  4. Under Tools to Include, pick the tools your workflow needs, or keep All.
Other Streamable HTTP clients
SettingValue
URLhttps://mcp.maqami.co/
TransportStreamable HTTP
AuthNone
Local stdio (npm)

For clients that only support stdio servers, the maqami-travel npm package is a thin bridge to the remote endpoint. It runs no booking logic locally and needs no credentials. Node.js 18 or later is required.

{
  "mcpServers": {
    "maqami-travel": {
      "command": "npx",
      "args": ["-y", "maqami-travel"]
    }
  }
}

This works in claude_desktop_config.json and any other client that launches stdio servers.

How agents use the server

The server is a standard MCP server. Every tool has a JSON Schema for its inputs and MCP annotations, so clients can tell read-only tools (readOnlyHint: true) from tools that change something.

Customers always book and pay on MAQAMI's website, book.maqami.co. The server finds the hotel or flight, holds the price and returns a checkoutUrl for that exact choice; the customer enters guest or passenger details, pays and gets their confirmation there. No tool takes payment or asks for payment details.

Hotel booking flow
StepWhat happensTool (example)
1. Search ratesLive rates for the dates and guests. Needs checkin, checkout, occupancies, currency, guestNationality and one location field (cityName with countryCode, latitude and longitude, iataCode, hotelIds or aiSearch). To find a hotel by name, call get_data_hotels with hotelName and countryCode, then search by hotelIds. Each rate has an offerId.post_hotels_rates
2. Show detailsDescription, amenities, photos and reviews for the hotels the user is interested inget_data_hotel, get_data_reviews
3. ConfirmShow the user the hotel, room, dates, guests, price and cancellation terms, and wait for a clear yes(your agent)
4. PrebookHolds one offerId, passed exactly as the search returned it, and returns a prebookId with the final price, the cancellation terms and a checkoutUrlpost_rates_prebook
5. CheckoutGive the customer the checkoutUrl (https://book.maqami.co/booking?prebookId=...) to enter guest details and pay(your agent)
Flight booking flow
StepWhat happensTool (example)
1. Find airportsResolve cities to IATA airport codesget_data_flights_airports
2. Search flightsLive offers. Needs legs (each with origin, destination and date), adults and currency. One leg for one-way, two for a round trip. Also returns searchUrl, the same search on book.maqami.co.post_flights_rates
3. VerifyConfirms an offerId is still available and returns the latest price, baggage, fare rules and a checkoutUrl for that offer. Offers expire (see expiration); if one is gone, search again.post_flights_verify
4. ConfirmShow the user the flights, passengers, final price and fare rules, and wait for a clear yes(your agent)
5. CheckoutGive the customer the checkoutUrl (https://book.maqami.co/flights/booking?offerId=...) promptly; the fare is held for a limited time(your agent)
Existing bookings

Lookup, amend and cancel tools need the booking ID and the email used to book; the server only returns or changes a booking when both match. Pass both bookingId and email to every booking tool. To find a customer's hotel bookings, call listBookings with the email and last name used to book; it returns only bookings where both match the booking holder. Hotel bookings are cancelled with cancel_hotel_booking, flights with post_flights_bookings_bookingid_cancellations (check get_flights_bookings_bookingid_cancellations for the refund estimate first). put_bookings_bookingid_amend corrects the holder's name, email or phone on a hotel booking: it takes the email currently on the booking and the corrected holder (firstName, lastName, email, optional phone).

Tool names and required fields above are as published by the server in October 2026. The tool list your client receives from the server is always the source of truth: only the tools it lists exist, and other tool names are rejected. Hotel offerIds are signed by the server: pass them exactly as returned, and run the search again if one is rejected.

Good practice for agents
  • Ask for missing inputs instead of guessing: dates, number of guests, the guest's nationality and the currency for hotels; dates, passengers and currency for flights.
  • Quote only what the tools return. Show the price with its currency and the cancellation or fare rules when they are available.
  • Confirm before anything that is not read-only. Prebook holds a real rate, and the amend and cancel tools change or cancel real bookings. Ask the user first and show exactly what will happen.
  • Send only links the tools return. Give the customer the checkoutUrl from prebook or verify, and never ask for card or passport details in the chat.
  • If a price or availability changes at prebook or verify, show the new result and ask again.
  • Keep guest details to what the booking needs, and only send them once the user has chosen an option.
  • Keep responses small. Set limit and maxRatesPerHotel on hotel searches and filters on flight searches. get_data_facilities, get_data_chains, get_data_iatacodes and get_data_cities return whole reference lists, so call them only when you need an ID from them; find airports with get_data_flights_airports instead.

The examples show one way to do this: read-only tools run automatically and every other tool waits for the user's approval.

FAQ

Do I need an API key or an account to connect? No. The endpoint accepts connections without authentication.

How does the customer pay? Only on MAQAMI's website. Prebook (hotels) or verify (flights) returns a checkoutUrl on book.maqami.co for that exact room or fare. The customer opens it, enters guest or passenger details, pays securely and receives the confirmation there. The MCP server never takes payment.

Does the checkout link create a real reservation? Yes, once the customer completes checkout on book.maqami.co. Review the details and final price before paying.

Which transport does the server use? Streamable HTTP at https://mcp.maqami.co/. If your client only supports stdio, use the maqami-travel npm bridge.

My client warns that there are too many tools. What should I do? Turn on only the tools you need. Most clients let you do this: the tool picker in VS Code, per-tool toggles in Cursor and Claude, and Tools to Include in n8n. For a travel assistant, the search, details, prebook and verify tools in the tables above are a good start.

What does the server see? An MCP server receives only the tool calls and arguments your client sends. It does not see the rest of your conversation.

Where is the server listed? In the official MCP Registry as io.github.negm17111995/maqami-travel, and on npm as maqami-travel. It is also a Claude Desktop extension (maqami-travel.mcpb). This repository is also a Gemini CLI extension (gemini-extension.json), a Claude Code plugin and marketplace (.claude-plugin/), a Codex plugin (.codex-plugin/plugin.json) and an Agent Plugins package (plugin.json and mcp.json). The plugins bundle the maqami-travel-booking skill. Directories: Smithery, Glama, Raycast's MCP registry, the ToolSDK MCP registry and the Hermes Agent plugin catalog.

Can I use it in my own agent or product? Yes, it's a public endpoint. Please follow the confirmation guidance above. For partnerships, contact [email protected].

How do I report a bug or a security issue? Open an issue for bugs and client setup problems. For security issues, follow SECURITY.md and don't open a public issue.

Examples

negm17111995/travel-agent-examples has small, runnable travel assistants that connect to this server from the OpenAI Agents SDK (Python), LangChain with LangGraph (Python) and the Vercel AI SDK (TypeScript). Each one asks for your approval before any call that is not read-only.

What you can do

  • Search hotels with live rates and availability.
  • Search flights and compare fares.
  • Look up cities, airports and hotel details, including amenities and photos.
  • Hold a price for a hotel room (prebook) or check a flight fare (verify).
  • Send a checkout link on book.maqami.co where the customer enters their details, pays and gets confirmed.
  • Find, look up and cancel existing bookings: find them with the email and last name, then act on one with its booking ID and email.

Example prompts

  • "Find 5-star hotels in Istanbul for 15 to 17 August, 2 adults."
  • "Show me the amenities and photos for the second hotel."
  • "Search flights from Dubai to London on 10 December for one adult."
  • "Which airports serve Tokyo?"
  • "Hold that room and send me the checkout link."

Privacy and security

  • No API key or account is required to connect.
  • All traffic to https://mcp.maqami.co/ is encrypted over HTTPS.
  • Searches and bookings are processed by MAQAMI. Payment happens only on book.maqami.co; the MCP server never receives card details.
  • Completing checkout creates a real reservation. Review the details and final price before paying.
  • Privacy policy: maqami.co/privacy-policy

Development

The repository contains the npm stdio bridge (index.js). The hosted server is deployed separately.

npm install
npm test

The bridge tests start a local mock Streamable HTTP server and point the bridge at it with the MAQAMI_MCP_URL environment variable. That variable exists for testing only; by default the bridge connects to https://mcp.maqami.co/. The manifest tests check that every manifest parses, points at the same endpoint and carries the version from package.json.

Repository layout
FilePurpose
index.jsnpm stdio bridge to the hosted endpoint
server.jsonOfficial MCP Registry entry
gemini-extension.json, GEMINI.mdGemini CLI extension and its context file
.claude-plugin/plugin.json, .mcp.jsonClaude Code plugin
.claude-plugin/marketplace.jsonClaude Code plugin marketplace (maqami)
.codex-plugin/plugin.json, assets/logo-512.pngCodex plugin and its icon
plugin.json, mcp.jsonAgent Plugins manifest
mcpb/manifest.json, scripts/build-mcpb.shClaude Desktop extension (npm run build:mcpb writes dist/maqami-travel.mcpb)
skills/maqami-travel-booking/SKILL.mdBooking skill bundled with the plugins
glama.jsonGlama directory metadata
AGENTS.md, llms.txtShort guides for coding agents and LLM tools
test/Bridge tests against a local mock server, and manifest consistency checks (npm test)
.github/workflows/CI (npm test on every pull request) and the release workflow that publishes to npm and the Official MCP Registry

Contributing

Documentation fixes, client setup guides and bug reports are welcome. See CONTRIBUTING.md and the Code of Conduct. Questions and ideas go to Discussions.

License

MIT

Support

Questions or issues: [email protected] or open an issue.

About MAQAMI

MAQAMI (MAQAMI LLC) is a US-registered travel company selling hotels and flights worldwide: over 3 million properties, instant confirmation, secure Stripe checkout and 24/7 support.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.