gitlab-mcp
A Model Context Protocol (MCP) server for GitLab
Crawler Summary
MCP server for SevenRooms reservations SevenRooms MCP Server HTTP-based Model Context Protocol (MCP) server exposing tools and resources for SevenRooms reservations and availability. Uses StreamableHTTPServerTransport (HTTP + SSE) instead of stdio. Built with TypeScript and the official @modelcontextprotocol/sdk. Features - make_reservations tool: Create restaurant reservations with guest details - available_time_slot resource: Query available reservation Published capability contract available. No trust telemetry is available yet. Last updated 2/24/2026.
Freshness
Last checked 2/22/2026
Best For
Contract is available with explicit auth and schema references.
Not Ideal For
sevenroom-mcp-server-v2 is not ideal for teams that need stronger public trust telemetry, lower setup complexity, or more explicit contract coverage before production rollout.
Evidence Sources Checked
editorial-content, capability-contract, runtime-metrics, public facts pack
MCP server for SevenRooms reservations SevenRooms MCP Server HTTP-based Model Context Protocol (MCP) server exposing tools and resources for SevenRooms reservations and availability. Uses StreamableHTTPServerTransport (HTTP + SSE) instead of stdio. Built with TypeScript and the official @modelcontextprotocol/sdk. Features - make_reservations tool: Create restaurant reservations with guest details - available_time_slot resource: Query available reservation
Public facts
6
Change events
1
Artifacts
0
Freshness
Feb 22, 2026
Published capability contract available. No trust telemetry is available yet. Last updated 2/24/2026.
Trust score
Unknown
Compatibility
MCP
Freshness
Feb 22, 2026
Vendor
Csnkarthik
Artifacts
0
Benchmarks
0
Last release
1.0.0
Key links, install path, and a quick operational read before the deeper crawl record.
Summary
Published capability contract available. No trust telemetry is available yet. Last updated 2/24/2026.
Setup snapshot
git clone https://github.com/csnkarthik/seven-rooms-mcp-v2.gitSetup complexity is MEDIUM. Standard integration tests and API key provisioning are required before connecting this to production workloads.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.
Vendor
Csnkarthik
Protocol compatibility
MCP
Auth modes
mcp, api_key
Machine-readable schemas
OpenAPI or schema references published
Handshake status
UNKNOWN
Crawlable docs
6 indexed pages on the official domain
Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.
Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.
Extracted files
0
Examples
6
Snippets
0
Languages
typescript
text
src/ server.ts # Main MCP HTTP server (/mcp endpoint) tools/makeReservation.ts # make_reservations tool registration resources/available_time_slot.ts # available_time_slot resource registration test/ # Integration tests .env.example # Example environment vars tsconfig.json package.json .github/workflows/azure-deploy.yml # CI/CD workflow to Azure App Service
text
SEVENROOMS_API_KEY=your_key_here SEVENROOMS_API_URL=https://api.sevenrooms.com
bash
npm install npm run build npm start # starts HTTP server on PORT (default 3000) # or npm run start:dev # tsx live-reload
bash
curl -X POST http://localhost:3000/mcp \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{bash
curl -X POST http://localhost:3000/mcp \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc":"2.0",
"id":1,
"method":"initialize",
"params":{
"protocolVersion":"1.0",
"clientInfo":{"name":"local-client","version":"1.0"},
"capabilities":{}
}
}'bash
curl -X POST http://localhost:3000/mcp \
-H "Accept: application/json" -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'Full documentation captured from public sources, including the complete README when available.
Docs source
GITHUB MCP
Editorial quality
ready
MCP server for SevenRooms reservations SevenRooms MCP Server HTTP-based Model Context Protocol (MCP) server exposing tools and resources for SevenRooms reservations and availability. Uses StreamableHTTPServerTransport (HTTP + SSE) instead of stdio. Built with TypeScript and the official @modelcontextprotocol/sdk. Features - make_reservations tool: Create restaurant reservations with guest details - available_time_slot resource: Query available reservation
HTTP-based Model Context Protocol (MCP) server exposing tools and resources for SevenRooms reservations and availability. Uses StreamableHTTPServerTransport (HTTP + SSE) instead of stdio. Built with TypeScript and the official @modelcontextprotocol/sdk.
make_reservations tool: Create restaurant reservations with guest detailsavailable_time_slot resource: Query available reservation time slotssrc/
server.ts # Main MCP HTTP server (/mcp endpoint)
tools/makeReservation.ts # make_reservations tool registration
resources/available_time_slot.ts # available_time_slot resource registration
test/ # Integration tests
.env.example # Example environment vars
tsconfig.json
package.json
.github/workflows/azure-deploy.yml # CI/CD workflow to Azure App Service
| Name | Required | Description | |------|----------|-------------| | SEVENROOMS_API_KEY | Yes | Authentication for SevenRooms API | | SEVENROOMS_API_URL | Yes | Base API URL (e.g. https://api.sevenrooms.com) | | PORT | Optional | Listening port (App Service sets automatically) |
Copy .env.example to .env for local use:
SEVENROOMS_API_KEY=your_key_here
SEVENROOMS_API_URL=https://api.sevenrooms.com
npm install
npm run build
npm start # starts HTTP server on PORT (default 3000)
# or
npm run start:dev # tsx live-reload
Server endpoints:
POST /mcp – JSON-RPC MCP requests (initialize, tools/list, resources/list, tools/call, etc.)GET /mcp – SSE stream (if using streaming scenarios)DELETE /mcp – Close session (stateful mode; stateless here so optional)GET /health – Simple health probecurl -X POST http://localhost:3000/mcp \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc":"2.0",
"id":1,
"method":"initialize",
"params":{
"protocolVersion":"1.0",
"clientInfo":{"name":"local-client","version":"1.0"},
"capabilities":{}
}
}'
curl -X POST http://localhost:3000/mcp \
-H "Accept: application/json" -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'
curl -X POST http://localhost:3000/mcp \
-H "Accept: application/json" -H "Content-Type: application/json" \
-d '{
"jsonrpc":"2.0",
"id":3,
"method":"tools/call",
"params":{
"name":"make_reservations",
"arguments":{
"date":"2025-12-20",
"time":"19:00",
"party_size":2,
"first_name":"Jane",
"last_name":"Doe",
"email":"[email protected]",
"phone":"+15555550123"
}
}
}'
Input fields:
date, time, party_size, first_name, last_name, email, phone
Returns success or detailed error text from SevenRooms API.
URI format:
available://YYYY-MM-DD/HH:MM/party_size
Returns JSON: { "available_times": ["18:00", "18:30", ...] } filtered for entries where type === 'book.
POST {SEVENROOMS_API_URL}/reservationsGET {SEVENROOMS_API_URL}/availability with query params date, time, party_sizeAdjust endpoint paths if your SevenRooms account differs.
az group create -n sevenrooms-rg -l eastus
az appservice plan create -g sevenrooms-rg -n sevenrooms-plan --sku B1 --is-linux
az webapp create -g sevenrooms-rg -p sevenrooms-plan -n <WEBAPP_NAME> --runtime "NODE:18-lts"
az webapp config appsettings set -g sevenrooms-rg -n <WEBAPP_NAME> --settings \
SEVENROOMS_API_KEY="<secret>" \
SEVENROOMS_API_URL="https://api.sevenrooms.com"
Azure injects PORT automatically; do not hardcode it unless needed.
Add in repo Settings → Actions → Secrets:
AZURE_WEBAPP_NAME = <WEBAPP_NAME>AZURE_WEBAPP_PUBLISH_PROFILE = publish profile XML pasted verbatimazure-deploy.yml)Steps: checkout, setup Node + cache, install (skip if cache hit), test, build, list build output, deploy.
curl https://<WEBAPP_NAME>.azurewebsites.net/health
curl -X POST https://<WEBAPP_NAME>.azurewebsites.net/mcp \
-H "Accept: application/json" -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"1.0","clientInfo":{"name":"remote","version":"1.0"},"capabilities":{}}}'
console.error() for server logs (stderr captured by App Service).APPINSIGHTS_INSTRUMENTATIONKEY or connection string.| Issue | Cause | Fix |
|-------|-------|-----|
| 404 /mcp | Build missing or wrong start path | Ensure npm run build and start uses node build/server.js |
| 500 SevenRooms errors | Invalid API key or payload | Verify env vars & input fields |
| Timeout | Low SKU or network latency | Increase plan size / adjust retry |
| Not Acceptable | Missing Accept header | Use Accept: application/json (JSON-only enabled) |
| Capabilities error | Missing capabilities in initialize | Include "capabilities":{} |
SEVENROOMS_API_KEY regularly.mainsrc/npm test && npm run buildMIT (update as needed).
A Model Context Protocol (MCP) server for managing restaurant reservations with SevenRooms. Built according to the MCP specification using TypeScript and the official @modelcontextprotocol/sdk.
src/
index.ts # Main MCP server with tools and resources
test/
makeReservation.test.js # Unit tests for make_reservations tool
availableTimeSlot.test.js # Unit tests for available_time_slot resource
.env.example # Example environment variables
tsconfig.json # TypeScript configuration
package.json # Project dependencies and scripts
.github/
workflows/
azure-deploy.yml # GitHub Actions CI/CD workflow
npm install
Copy .env.example to .env and fill in your SevenRooms credentials:
cp .env.example .env
Then edit .env:
SEVENROOMS_API_KEY=your_sevenrooms_api_key_here
SEVENROOMS_API_URL=https://api.sevenrooms.com
npm run build
This compiles TypeScript to JavaScript in the build/ directory.
npm test
Expected output:
available_time_slot resource
✓ throws when required fields missing
✓ returns only times with type == "book"
make_reservations tool
✓ throws when required fields missing
✓ calls SevenRooms reservations endpoint and returns data
4 passing
For production:
npm start
For development with auto-reload:
npm run start:dev
The server will start on stdio, ready for MCP clients to connect.
Makes a reservation at a restaurant through SevenRooms.
Input Schema:
{
"date": "YYYY-MM-DD (e.g., 2025-12-25)",
"time": "HH:MM (e.g., 19:00)",
"party_size": 4,
"first_name": "John",
"last_name": "Doe",
"email": "[email protected]",
"phone": "555-1234"
}
Response: Returns the SevenRooms API response with reservation confirmation details (ID, status, etc.).
Queries available reservation time slots for a given date, time, and party size.
URI Format:
available://YYYY-MM-DD/HH:MM/party_size
Example:
available://2025-12-25/19:00/4
Response:
{
"available_times": ["18:00", "18:30", "19:00", "19:30"]
}
The resource automatically filters to only include times where type === 'book' from the SevenRooms availability API.
The server calls the following SevenRooms endpoints:
{SEVENROOMS_API_URL}/reservationsAuthorization header{
"datetime": "2025-12-25T19:00",
"party_size": 4,
"guest": {
"first_name": "John",
"last_name": "Doe",
"email": "[email protected]",
"phone": "555-1234"
}
}
{SEVENROOMS_API_URL}/availabilityAuthorization headerdate, time, party_sizeNote: Adjust endpoints and request payloads if your SevenRooms API account requires different paths or authentication methods.
The project includes unit tests using Mocha, Chai, and Nock (for HTTP mocking).
Run tests:
npm test
Tests cover:
Create Azure App Service
Configure GitHub Secrets
AZURE_WEBAPP_NAME — The name of your Azure Web AppAZURE_WEBAPP_PUBLISH_PROFILE — The publish profile XML contentSet App Service Configuration
SEVENROOMS_API_KEY — Your SevenRooms API keySEVENROOMS_API_URL — Your SevenRooms API base URL (e.g., https://api.sevenrooms.com)PORT — Leave blank to auto-bind (Azure sets this automatically)Deploy
main branchThe workflow is defined in .github/workflows/azure-deploy.yml and:
After deployment, you can:
Important: The MCP server uses stdio for communication, so logging is restricted:
console.error() for logging (writes to stderr, safe for STDIO-based MCP)console.log() (writes to stdout, corrupts MCP JSON-RPC messages)For production, consider:
npm install to ensure all dependencies are installed@modelcontextprotocol/sdk is in package.json dependenciesbuild/ and node_modules/ and reinstall: npm install && npm run build.env file exists (even if empty) or set env vars in your shell before running testsnpm start (should print to stderr)src/index.tsnpm testnpm run buildMIT
Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.
Contract coverage
Status
ready
Auth
mcp, api_key
Streaming
Yes
Data region
global
Protocol support
Requires: mcp, lang:typescript, streaming
Forbidden: none
Guardrails
Operational confidence: medium
curl -s "https://www.xpersona.co/api/v1/agents/mcp-csnkarthik-seven-rooms-mcp-v2/snapshot"
curl -s "https://www.xpersona.co/api/v1/agents/mcp-csnkarthik-seven-rooms-mcp-v2/contract"
curl -s "https://www.xpersona.co/api/v1/agents/mcp-csnkarthik-seven-rooms-mcp-v2/trust"
Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.
Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.
A Model Context Protocol (MCP) server for GitLab
A Model Context Protocol (MCP) server for GitLab
This agent researches trends, scripts videos, sets up engagement automation, and compiles everything into a shareable document.
This agent analyzes Reddit data to generate trending content concepts tailored to your audience.
Contract JSON
{
"contractStatus": "ready",
"authModes": [
"mcp",
"api_key"
],
"requires": [
"mcp",
"lang:typescript",
"streaming"
],
"forbidden": [],
"supportsMcp": true,
"supportsA2a": false,
"supportsStreaming": true,
"inputSchemaRef": "https://github.com/csnkarthik/seven-rooms-mcp-v2#input",
"outputSchemaRef": "https://github.com/csnkarthik/seven-rooms-mcp-v2#output",
"dataRegion": "global",
"contractUpdatedAt": "2026-02-24T19:45:28.987Z",
"sourceUpdatedAt": "2026-02-24T19:45:28.987Z",
"freshnessSeconds": 19550626
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://www.xpersona.co/api/v1/agents/mcp-csnkarthik-seven-rooms-mcp-v2/snapshot",
"contractUrl": "https://www.xpersona.co/api/v1/agents/mcp-csnkarthik-seven-rooms-mcp-v2/contract",
"trustUrl": "https://www.xpersona.co/api/v1/agents/mcp-csnkarthik-seven-rooms-mcp-v2/trust"
},
"curlExamples": [
"curl -s \"https://www.xpersona.co/api/v1/agents/mcp-csnkarthik-seven-rooms-mcp-v2/snapshot\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/mcp-csnkarthik-seven-rooms-mcp-v2/contract\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/mcp-csnkarthik-seven-rooms-mcp-v2/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"MCP"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "GITHUB_MCP",
"generatedAt": "2026-10-09T02:29:15.695Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "MCP",
"type": "protocol",
"support": "supported",
"confidenceSource": "contract",
"notes": "Confirmed by capability contract"
},
{
"key": "cli",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
}
],
"flattenedTokens": "protocol:MCP|supported|contract capability:cli|supported|profile"
}Facts JSON
[
{
"factKey": "docs_crawl",
"category": "integration",
"label": "Crawlable docs",
"value": "6 indexed pages on the official domain",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "MCP",
"href": "https://www.xpersona.co/api/v1/agents/mcp-csnkarthik-seven-rooms-mcp-v2/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/mcp-csnkarthik-seven-rooms-mcp-v2/contract",
"sourceType": "contract",
"confidence": "high",
"observedAt": "2026-02-24T19:45:28.987Z",
"isPublic": true
},
{
"factKey": "auth_modes",
"category": "compatibility",
"label": "Auth modes",
"value": "mcp, api_key",
"href": "https://www.xpersona.co/api/v1/agents/mcp-csnkarthik-seven-rooms-mcp-v2/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/mcp-csnkarthik-seven-rooms-mcp-v2/contract",
"sourceType": "contract",
"confidence": "high",
"observedAt": "2026-02-24T19:45:28.987Z",
"isPublic": true
},
{
"factKey": "schema_refs",
"category": "artifact",
"label": "Machine-readable schemas",
"value": "OpenAPI or schema references published",
"href": "https://github.com/csnkarthik/seven-rooms-mcp-v2#input",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/mcp-csnkarthik-seven-rooms-mcp-v2/contract",
"sourceType": "contract",
"confidence": "high",
"observedAt": "2026-02-24T19:45:28.987Z",
"isPublic": true
},
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Csnkarthik",
"href": "https://github.com/csnkarthik/seven-rooms-mcp-v2",
"sourceUrl": "https://github.com/csnkarthik/seven-rooms-mcp-v2",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-02-24T19:43:14.176Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/mcp-csnkarthik-seven-rooms-mcp-v2/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/mcp-csnkarthik-seven-rooms-mcp-v2/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
]Change Events JSON
[
{
"eventType": "docs_update",
"title": "Docs refreshed: Sign in to GitHub · GitHub",
"description": "Fresh crawlable documentation was indexed for the official domain.",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
}
]Sponsored
Ads related to sevenroom-mcp-server-v2 and adjacent AI workflows.