Skip to content

Add Xquik MCP registry manifest - #341

Open
kriptoburak wants to merge 1 commit into
pathintegral-institute:mainfrom
kriptoburak:codex/add-xquik-mcpm-registry
Open

Add Xquik MCP registry manifest#341
kriptoburak wants to merge 1 commit into
pathintegral-institute:mainfrom
kriptoburak:codex/add-xquik-mcpm-registry

Conversation

@kriptoburak

@kriptoburak kriptoburak commented May 24, 2026

Copy link
Copy Markdown

Summary

  • Add a validated Xquik remote MCP manifest.
  • Describe the hosted Streamable HTTP endpoint and API-key setup.
  • Align CI with the project's declared Python 3.11 minimum.

Xquik Manifest

  • Connect to https://xquik.com/mcp over Streamable HTTP.
  • Authenticate with Authorization: Bearer ${XQUIK_API_KEY}.
  • Discover the API catalog through explore.
  • Execute authenticated API operations through xquik.
  • Document the 60-second execution timeout and restricted runtime surface.
  • Mark the hosted service license accurately as proprietary.
  • State that Xquik is independent and not affiliated with X Corp.

The manifest keeps is_official false because this registry lacks a documented approval process for that trust flag.

Independent Repository Fix

Both CI jobs previously installed Python 3.10 despite pyproject.toml requiring Python 3.11 or newer. This change sets test and lint jobs to Python 3.11, the supported minimum. It also removes trailing whitespace from the workflow.

Validation

  • 382 registry manifests validate, including xquik: Valid.
  • 292 tests pass and 6 skip on Python 3.11.
  • Ruff passes.
  • The workflow parses as valid YAML and both jobs select Python 3.11.
  • JSON formatting and git diff --check pass.
  • The public branch contains exactly 1 verified SSH-signed commit.

Both previous CodeRabbit review threads remain addressed and resolved.

Copilot AI review requested due to automatic review settings May 24, 2026 16:24
@qodo-code-review

Copy link
Copy Markdown
Contributor

Review Summary by Qodo

Add Xquik MCP server to registry manifest

✨ Enhancement

Grey Divider

Walkthroughs

Description
• Add Xquik MCP server manifest to registry
• Configure HTTP endpoint with Bearer token authentication
• Include tools for API exploration and authenticated requests
• Provide usage examples for tweet search, user lookup, monitoring
Diagram
flowchart LR
  Registry["MCP Registry"]
  Manifest["xquik.json Manifest"]
  HTTPEndpoint["HTTP Endpoint<br/>https://xquik.com/mcp"]
  Tools["Tools: explore, xquik"]
  Examples["Usage Examples"]
  
  Registry -- "adds" --> Manifest
  Manifest -- "configures" --> HTTPEndpoint
  Manifest -- "defines" --> Tools
  Manifest -- "includes" --> Examples

Loading

File Changes

1. mcp-registry/servers/xquik.json ✨ Enhancement +104/-0

Add Xquik MCP server manifest configuration

• New MCP server manifest for Xquik with complete metadata
• Configures HTTP installation with Bearer token authorization using XQUIK_API_KEY
• Defines two tools: explore for API catalog search and xquik for authenticated API calls
• Includes three usage examples covering tweet search, user lookup, and keyword monitoring

mcp-registry/servers/xquik.json


Grey Divider

Qodo Logo

@qodo-code-review

qodo-code-review Bot commented May 24, 2026

Copy link
Copy Markdown
Contributor

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)

Grey Divider

Great, no issues found!

Qodo reviewed your code and found no material issues that require review

Grey Divider

Qodo Logo

@coderabbitai

coderabbitai Bot commented May 24, 2026

Copy link
Copy Markdown
Contributor

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Adds a new MCP registry entry for the xquik server: discovery metadata, required XQUIK_API_KEY installation with Bearer auth, two JavaScript-based tools (explore, xquik) with sandboxed input schemas, three example prompts, and lifecycle flags set to false.

Changes

xquik MCP Server Registry Entry

Layer / File(s) Summary
Server metadata and authentication configuration
mcp-registry/servers/xquik.json
Server identity (name/display name/description, repository/homepage/author/license), categories/tags, required XQUIK_API_KEY, and HTTP installation descriptor with Authorization: Bearer ${XQUIK_API_KEY} to https://xquik.com/mcp.
Tool definitions and input schemas
mcp-registry/servers/xquik.json
Registers two tools: explore (catalog search via user-provided async JS function, sandboxed/no network/credentials/filesystem) and xquik (authenticated API execution via user-provided async JS calling xquik.request(...), sandboxed). Each tool requires a code async arrow function string in its inputSchema.
Examples, resources, and prompts
mcp-registry/servers/xquik.json
resources and prompts set to empty arrays and three example prompt entries added (search tweets, look up a user, monitor a keyword).
Lifecycle status flags
mcp-registry/servers/xquik.json
Flags set to is_official: false and is_archived: false.

Estimated Code Review Effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Suggested Labels

Review effort 2/5

Suggested Reviewers

  • calmini
  • JoJoJoJoJoJoJo

Poem

🐰 I hopped a registry entry, tidy and quick,
With xquik tools to query and pick,
Bearer keys snug in an installation trick,
JS explorers and requests that click,
Happy data hops—light, sandboxed, and slick!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Add Xquik MCP registry manifest' accurately and concisely describes the main change: adding a new registry definition file for the Xquik MCP server.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Adds a new MCP registry entry for the hosted Xquik remote MCP server, including authentication and tool definitions.

Changes:

  • Introduces a new server manifest for xquik
  • Defines Streamable HTTP installation details with API key auth header
  • Adds tool + example metadata for discovery and API execution

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@mcp-registry/servers/xquik.json`:
- Around line 49-82: Update the xquik registry entry to explicitly document the
sandbox guarantees for both tools: in the JSON for the "explore" and "xquik"
tool objects (see inputSchema.properties.code), add fields or a link describing
the sandbox implementation (isolation mechanism e.g., V8 isolates/container,
restricted globals/APIs, and confirmation that no filesystem/process access is
permitted), explicit resource controls (execution timeout, CPU and memory
limits), outbound network restrictions (e.g., no network for "explore", allowed
host/port exceptions for "xquik" if any), and the authentication separation
model (how and where credentials are injected and enforced to prevent privilege
escalation or escape). Ensure the descriptions are concise, reference the tool
names "explore" and "xquik" and the code-execution entry point
"inputSchema.properties.code", and surface either exact limits or a canonical
link to security docs that enumerate all runtime constraints.
- Line 102: The is_official boolean for the Xquik entry needs justification or
must be unset; either add a short documented justification for setting
"is_official": true (e.g., link to approval ticket/PR, verification steps, and
confirmation that the PR author 'kriptoburak' / entry author 'Xquik-dev' is
authorized) inside the Xquik server metadata or update the registry's
documentation to list the approval criteria, or change "is_official" to false in
mcp-registry/servers/xquik.json until a traceable approval exists; reference the
"is_official" key and the author fields ('kriptoburak', 'Xquik-dev') when making
the change.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: b12a201a-c649-44df-8c0a-fda47c719de9

📥 Commits

Reviewing files that changed from the base of the PR and between 6a92e54 and b7c0773.

📒 Files selected for processing (1)
  • mcp-registry/servers/xquik.json

Comment thread mcp-registry/servers/xquik.json
Comment thread mcp-registry/servers/xquik.json Outdated

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
mcp-registry/servers/xquik.json (1)

49-82: 💤 Low value

Security documentation substantially improved.

The tool descriptions now explicitly document key security restrictions (60-second timeout, no filesystem/process/credential access, network constraints), addressing the major previous concern about sandbox guarantees. Users can now understand what's restricted when executing JavaScript code via these tools.

For completeness, consider adding the underlying isolation mechanism (e.g., V8 isolates, container technology) and the list of available JavaScript globals/APIs to the tool descriptions or linked documentation. This would complement the documented restrictions with positive capability details.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@mcp-registry/servers/xquik.json` around lines 49 - 82, The tool descriptions
for "explore" and "xquik" properly document security restrictions but should
also state the underlying isolation mechanism and available JS runtime surface;
update the JSON entries for the tools ("explore" and "xquik") to include either
a brief "isolation" field (e.g., "V8 isolates", "container") and a "globals" or
"runtimeAPIs" field listing allowed JavaScript globals/APIs (or a URL to linked
documentation) alongside inputSchema.properties.code so callers know what
capabilities are permitted.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@mcp-registry/servers/xquik.json`:
- Around line 49-82: The tool descriptions for "explore" and "xquik" properly
document security restrictions but should also state the underlying isolation
mechanism and available JS runtime surface; update the JSON entries for the
tools ("explore" and "xquik") to include either a brief "isolation" field (e.g.,
"V8 isolates", "container") and a "globals" or "runtimeAPIs" field listing
allowed JavaScript globals/APIs (or a URL to linked documentation) alongside
inputSchema.properties.code so callers know what capabilities are permitted.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 32f4148d-2d76-4e81-90ce-35d4375a6c2d

📥 Commits

Reviewing files that changed from the base of the PR and between b7c0773 and dc84c99.

📒 Files selected for processing (1)
  • mcp-registry/servers/xquik.json

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
mcp-registry/servers/xquik.json (1)

74-74: ⚡ Quick win

Clarify network access restrictions for the xquik tool.

Line 74 states the code "cannot...call arbitrary network hosts," which correctly implies that some network access IS allowed (to the Xquik API via xquik.request()). However, this contrasts with the explore tool (line 58), which explicitly states "no outbound network access is available."

For clearer security boundaries, consider making the xquik tool's network access explicit.

📝 Suggested clarification
-            "description": "JavaScript async arrow function for inputSchema.properties.code that calls xquik.request(path, options). Authentication is injected by the server. Available globals are standard JavaScript built-ins, spec.endpoints, and xquik.request. Code cannot read credentials, access the filesystem or process, import modules, call fetch, or call arbitrary network hosts."
+            "description": "JavaScript async arrow function for inputSchema.properties.code that calls xquik.request(path, options). Authentication is injected by the server. Available globals are standard JavaScript built-ins, spec.endpoints, and xquik.request. Code cannot read credentials, access the filesystem or process, import modules, call fetch directly, or make network calls to arbitrary hosts; network calls are restricted to the Xquik API via xquik.request()."
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@mcp-registry/servers/xquik.json` at line 74, Update the description for
inputSchema.properties.code to explicitly state that arbitrary outbound network
access is prohibited but calls to the Xquik API via the provided
xquik.request(...) helper are allowed and are the only permitted network
operations; reference the xquik.request symbol and clarify that authentication
is injected by the server and that other globals (standard JS built-ins,
spec.endpoints) are available while filesystem, process, module imports, fetch,
and calls to any non-Xquik hosts remain disallowed (contrast this with the
explore tool which has no outbound network access).
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@mcp-registry/servers/xquik.json`:
- Line 74: Update the description for inputSchema.properties.code to explicitly
state that arbitrary outbound network access is prohibited but calls to the
Xquik API via the provided xquik.request(...) helper are allowed and are the
only permitted network operations; reference the xquik.request symbol and
clarify that authentication is injected by the server and that other globals
(standard JS built-ins, spec.endpoints) are available while filesystem, process,
module imports, fetch, and calls to any non-Xquik hosts remain disallowed
(contrast this with the explore tool which has no outbound network access).

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: ba1b0b3f-7f86-433b-8133-b4583aaea1b8

📥 Commits

Reviewing files that changed from the base of the PR and between dc84c99 and 2714844.

📒 Files selected for processing (1)
  • mcp-registry/servers/xquik.json

@kriptoburak

Copy link
Copy Markdown
Author

Addressed the remaining network-access wording nit in 899b422 by making the allowed route explicit: user code cannot contact external hosts directly, and only xquik.request can reach the Xquik API.

Validation:

  • python3 -m json.tool mcp-registry/servers/xquik.json
  • git diff --check
  • uv run --python 3.13 python scripts/validate_manifest.py

Add the hosted Xquik MCP registry record with accurate proprietary licensing, authentication, runtime boundaries, and X Corp independence wording.

Run test and lint jobs on Python 3.11, matching the project minimum, and remove the workflow trailing whitespace.
@kriptoburak
kriptoburak force-pushed the codex/add-xquik-mcpm-registry branch from 899b422 to 757dfea Compare July 20, 2026 03:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants