Skip to content

chore: Add Boikot MCP Server #232

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Aug 13, 2025
Merged

chore: Add Boikot MCP Server #232

merged 4 commits into from
Aug 13, 2025

Conversation

JoJoJoJoJoJoJo
Copy link
Contributor

@JoJoJoJoJoJoJo JoJoJoJoJoJoJo commented Aug 13, 2025

PR Type

Other


Description

  • Add Boikot MCP Server manifest to registry

  • Provides corporate ethics and company information lookup

  • Includes example prompts for ethical company research


Diagram Walkthrough

flowchart LR
  A["New Server"] --> B["Boikot MCP Server"]
  B --> C["Corporate Ethics Lookup"]
  B --> D["Company Information Tool"]
  C --> E["Example Queries"]
  D --> E
Loading

File Walkthrough

Relevant files
Configuration changes
[email protected]
Add Boikot server manifest configuration                                 

mcp-registry/servers/[email protected]

  • Add complete server manifest for Boikot MCP Server
  • Configure ethics and corporate information lookup functionality
  • Include 5 example prompts for company ethics queries
  • Set GPL v3 license and repository information
+53/-0   

Summary by CodeRabbit

  • New Features
    • Added Boikot MCP Server to the registry, enabling discovery and easy installation via HTTP.
    • Provides a lookup_company_information tool to retrieve company ethics information by name.
    • Includes example prompts to help users get started.
    • Lists metadata such as display name, tags, categories, license, and author.
    • Marked as a community (non-official) integration.

@Copilot Copilot AI review requested due to automatic review settings August 13, 2025 10:22
Copy link

coderabbitai bot commented Aug 13, 2025

Note

Other AI code review bot(s) detected

CodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review.

Walkthrough

Added a new MCP registry entry for the Boikot MCP Server at mcp-registry/servers/boikot-mcp.json, including metadata, examples, installation URL, tool definition (lookup_company_information), and is_official flag set to false.

Changes

Cohort / File(s) Summary of Changes
Registry Entry Addition
mcp-registry/servers/boikot-mcp.json
Introduced a new server registry record with metadata, examples, categories, HTTP installation endpoint, and a single tool (lookup_company_information) with input schema for company_name; marked as non-official.

Sequence Diagram(s)

sequenceDiagram
  actor User
  participant MCP Client
  participant Registry
  participant Boikot MCP Server

  User->>MCP Client: Select "Boikot MCP Server"
  MCP Client->>Registry: Fetch server entry (boikot-mcp.json)
  Registry-->>MCP Client: Return metadata + install URL
  MCP Client->>Boikot MCP Server: Install/connect via HTTPS
  MCP Client->>Boikot MCP Server: Call lookup_company_information(company_name)
  Boikot MCP Server-->>MCP Client: Return ethics/company info
Loading

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Possibly related issues

Poem

A whisk of whiskers, a hop in the night,
I filed a server, neat and light.
Boikot awaits on an HTTPS lane,
Lookup a company, reveal its name.
Tags like carrots, crisp and clear—
Registry burrow welcomes it here. 🥕✨


📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 2bbed06 and 2fc7083.

📒 Files selected for processing (1)
  • mcp-registry/servers/boikot-mcp.json (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • mcp-registry/servers/boikot-mcp.json
✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch scrape-issue-230

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
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

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

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

PR Reviewer Guide 🔍

Here are some key observations to aid the review process:

⏱️ Estimated effort to review: 2 🔵🔵⚪⚪⚪
🧪 No relevant tests
🔒 No security concerns identified
⚡ Recommended focus areas for review

Metadata Validity

The "license" value "GPL v3" may not match expected SPDX identifiers (e.g., "GPL-3.0-only" or "GPL-3.0-or-later"); verify registry validation rules.

"license": "GPL v3",
"tags": [
Placeholder Fields

Example entries have empty "title" and "description"; consider providing concise titles/descriptions to improve usability and discovery.

{
  "title": "",
  "description": "",
  "prompt": "What can you tell me about the ethics of Amazon?"
},
{
  "title": "",
  "description": "",
  "prompt": "Is Nestl\u00e9 considered ethical?"
},
{
  "title": "",
  "description": "",
  "prompt": "Look up information about Apple's corporate practices"
},
{
  "title": "",
  "description": "",
  "prompt": "What ethical issues are associated with Facebook?"
},
{
  "title": "",
  "description": "",
  "prompt": "Tell me about the ethics record of McDonald's"
}
Category Value

"categories" contains "Error", which looks unintended; confirm allowed category list and select appropriate categories (e.g., "ethics", "research").

"categories": [
  "Error"
],

Copy link
Contributor

qodo-merge-pro bot commented Aug 13, 2025

PR Code Suggestions ✨

Explore these optional code suggestions:

CategorySuggestion                                                                                                                                    Impact
Possible issue
Fix invalid category value

Replace the placeholder category with a valid, descriptive category to prevent
misclassification. Choose a real category aligned with the server's purpose.

mcp-registry/servers/[email protected] [48-50]

 "categories": [
-  "Error"
+  "ethics",
+  "corporate-information"
 ],
  • Apply / Chat
Suggestion importance[1-10]: 8

__

Why: This suggestion correctly points out that the category Error is likely a placeholder and provides relevant, descriptive alternatives that align with the server's purpose, which is crucial for proper classification in the registry.

Medium
Use SPDX license identifier

Use a standard SPDX license identifier to avoid parsing and compliance issues.
Replace the informal string with the correct SPDX ID.

mcp-registry/servers/[email protected] [3]

-"license": "GPL v3",
+"license": "GPL-3.0-only",
  • Apply / Chat
Suggestion importance[1-10]: 7

__

Why: The suggestion correctly identifies that using a standard SPDX identifier like GPL-3.0-only instead of GPL v3 improves machine readability and removes ambiguity, which is important for a metadata registry file.

Medium
General
Populate empty example fields

Avoid empty required fields in examples; populate concise titles and
descriptions to meet schema expectations and improve UX. Provide meaningful
summaries for each prompt.

mcp-registry/servers/[email protected] [11-37]

 "examples": [
   {
-    "title": "",
-    "description": "",
+    "title": "Amazon ethics overview",
+    "description": "Summarize notable ethics concerns and initiatives at Amazon.",
     "prompt": "What can you tell me about the ethics of Amazon?"
   },
   {
-    "title": "",
-    "description": "",
+    "title": "Nestlé ethical standing",
+    "description": "Assess whether Nestlé is considered ethical with references.",
     "prompt": "Is Nestlé considered ethical?"
   },
   {
-    "title": "",
-    "description": "",
+    "title": "Apple corporate practices",
+    "description": "Retrieve information on Apple's corporate responsibility and practices.",
     "prompt": "Look up information about Apple's corporate practices"
   },
   {
-    "title": "",
-    "description": "",
+    "title": "Facebook ethical issues",
+    "description": "List key ethical controversies associated with Facebook.",
     "prompt": "What ethical issues are associated with Facebook?"
   },
   {
-    "title": "",
-    "description": "",
+    "title": "McDonald's ethics record",
+    "description": "Overview of McDonald's ethics record and related sources.",
     "prompt": "Tell me about the ethics record of McDonald's"
   }
 ],
  • Apply / Chat
Suggestion importance[1-10]: 5

__

Why: The suggestion correctly identifies that the title and description fields in the examples are empty and proposes adding meaningful content, which would improve user experience and data completeness.

Low
  • Update

Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR adds a new MCP server registration for the Boikot project, which provides transparent access to company ethics data. The addition supports community-driven transparency in corporate ethics evaluation.

  • Adds registration for @boikot-xyz/boikot MCP server
  • Configures server metadata including tags, examples, and repository information
  • Includes example prompts for querying company ethics information

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

"prompt": "What ethical issues are associated with Facebook?"
},
{
"title": "",
Copy link
Preview

Copilot AI Aug 13, 2025

Choose a reason for hiding this comment

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

The title field is empty for all examples. Consider providing descriptive titles for each example to improve documentation clarity.

Suggested change
"title": "",
"title": "Amazon Ethics Overview",
"description": "",
"prompt": "What can you tell me about the ethics of Amazon?"
},
{
"title": "Nestlé Ethical Evaluation",
"description": "",
"prompt": "Is Nestl\u00e9 considered ethical?"
},
{
"title": "Apple Corporate Practices Lookup",
"description": "",
"prompt": "Look up information about Apple's corporate practices"
},
{
"title": "Facebook Ethical Issues",
"description": "",
"prompt": "What ethical issues are associated with Facebook?"
},
{
"title": "McDonald's Ethics Record",

Copilot uses AI. Check for mistakes.

},
{
"title": "",
"description": "",
Copy link
Preview

Copilot AI Aug 13, 2025

Choose a reason for hiding this comment

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

The description field is empty for all examples. Consider providing descriptions that explain what each example demonstrates or accomplishes.

Suggested change
"description": "",
"description": "Asks for an overview of Amazon's ethical practices and reputation.",
"prompt": "What can you tell me about the ethics of Amazon?"
},
{
"title": "",
"description": "Requests an assessment of Nestlé's ethical standing.",
"prompt": "Is Nestl\u00e9 considered ethical?"
},
{
"title": "",
"description": "Seeks information on Apple's corporate practices and ethics.",
"prompt": "Look up information about Apple's corporate practices"
},
{
"title": "",
"description": "Inquires about ethical controversies or issues related to Facebook.",
"prompt": "What ethical issues are associated with Facebook?"
},
{
"title": "",
"description": "Requests details about McDonald's ethical record and practices.",

Copilot uses AI. Check for mistakes.

},
"description": "boikot is a community-led initiative to make data on company ethics transparent and accessible.",
"categories": [
"Error"
Copy link
Preview

Copilot AI Aug 13, 2025

Choose a reason for hiding this comment

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

The category is set to "Error" which appears to be a placeholder or incorrect value. This should be replaced with an appropriate category that describes the server's functionality.

Suggested change
"Error"
"Ethics"

Copilot uses AI. Check for mistakes.

@JoJoJoJoJoJoJo JoJoJoJoJoJoJo changed the title chore: Add server from issue #230 chore: Add Boikot MCP Server Aug 13, 2025
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🧹 Nitpick comments (2)
mcp-registry/servers/[email protected] (2)

4-10: Normalize tag casing; avoid mixed case.

Tags appear to be intended as lowercase tokens; "MCP" stands out. Normalize to "mcp" for consistency with the rest.

-    "MCP",
+    "mcp",

51-51: Avoid empty "installations": provide at least one method or omit the field.

An empty object is ambiguous. Either add a concrete installation method (e.g., npm/pip/docker/source) or remove the field until ready.

Would you like me to draft installation entries based on @boikot-xyz/boikot’s publish status (npm/docker/source)? The verification script in the previous comment prints common installation shapes used in this repo to mirror.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between fd3f417 and 274d1e2.

📒 Files selected for processing (1)
🔇 Additional comments (3)
mcp-registry/servers/[email protected] (3)

2-2: Display name and package name look consistent.

"Boikot MCP Server" with package "@boikot-xyz/boikot" reads well and follows typical naming.


39-46: Repository/homepage/author metadata look correct.

Git repository URL, homepage, and author object are consistent and sufficient.


48-50: Category “Error” Is Already Canonical
A registry-wide scan of mcp-registry/servers/*.json shows “Error” among the existing categories. No change is needed here.

Likely an incorrect or invalid review comment.

@@ -0,0 +1,53 @@
{
"display_name": "Boikot MCP Server",
"license": "GPL v3",
Copy link

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

Use an SPDX-compliant license identifier (e.g., GPL-3.0).

"GPL v3" is not an SPDX identifier. Most registries/tools expect SPDX strings (e.g., GPL-3.0-only or GPL-3.0-or-later).

Apply this diff:

-  "license": "GPL v3",
+  "license": "GPL-3.0",
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"license": "GPL v3",
"license": "GPL-3.0",
🤖 Prompt for AI Agents
In mcp-registry/servers/[email protected] around line 3, the "license"
field uses a non-SPDX identifier "GPL v3"; replace it with a valid SPDX
identifier such as "GPL-3.0-only" or "GPL-3.0-or-later" to comply with tooling
and registry expectations, updating the JSON value accordingly.

Comment on lines 11 to 37
"examples": [
{
"title": "",
"description": "",
"prompt": "What can you tell me about the ethics of Amazon?"
},
{
"title": "",
"description": "",
"prompt": "Is Nestl\u00e9 considered ethical?"
},
{
"title": "",
"description": "",
"prompt": "Look up information about Apple's corporate practices"
},
{
"title": "",
"description": "",
"prompt": "What ethical issues are associated with Facebook?"
},
{
"title": "",
"description": "",
"prompt": "Tell me about the ethics record of McDonald's"
}
],
Copy link

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

Fill in example titles/descriptions; avoid empty strings.

Empty "title" and "description" fields look like placeholders and degrade UX in clients that render example cards.

Proposed concrete titles/descriptions:

     {
-      "title": "",
-      "description": "",
+      "title": "Amazon ethics overview",
+      "description": "High-level summary of Amazon’s ethical track record and controversies.",
       "prompt": "What can you tell me about the ethics of Amazon?"
     },
     {
-      "title": "",
-      "description": "",
+      "title": "Is Nestlé ethical?",
+      "description": "Assess Nestlé’s ethical practices across sourcing, labor, environment, and governance.",
       "prompt": "Is Nestl\u00e9 considered ethical?"
     },
     {
-      "title": "",
-      "description": "",
+      "title": "Apple corporate practices",
+      "description": "Look up Apple’s corporate ethics, including supply chain and privacy practices.",
       "prompt": "Look up information about Apple's corporate practices"
     },
     {
-      "title": "",
-      "description": "",
+      "title": "Facebook ethical issues",
+      "description": "Summarize key ethical concerns related to Facebook/Meta.",
       "prompt": "What ethical issues are associated with Facebook?"
     },
     {
-      "title": "",
-      "description": "",
+      "title": "McDonald’s ethics record",
+      "description": "Overview of McDonald’s ethical record and relevant sources.",
       "prompt": "Tell me about the ethics record of McDonald's"
     }

If you prefer fewer fields, removing empty "title"/"description" is better than leaving them blank.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"examples": [
{
"title": "",
"description": "",
"prompt": "What can you tell me about the ethics of Amazon?"
},
{
"title": "",
"description": "",
"prompt": "Is Nestl\u00e9 considered ethical?"
},
{
"title": "",
"description": "",
"prompt": "Look up information about Apple's corporate practices"
},
{
"title": "",
"description": "",
"prompt": "What ethical issues are associated with Facebook?"
},
{
"title": "",
"description": "",
"prompt": "Tell me about the ethics record of McDonald's"
}
],
"examples": [
{
"title": "Amazon ethics overview",
"description": "High-level summary of Amazon’s ethical track record and controversies.",
"prompt": "What can you tell me about the ethics of Amazon?"
},
{
"title": "Is Nestlé ethical?",
"description": "Assess Nestlé’s ethical practices across sourcing, labor, environment, and governance.",
"prompt": "Is Nestl\u00e9 considered ethical?"
},
{
"title": "Apple corporate practices",
"description": "Look up Apple’s corporate ethics, including supply chain and privacy practices.",
"prompt": "Look up information about Apple's corporate practices"
},
{
"title": "Facebook ethical issues",
"description": "Summarize key ethical concerns related to Facebook/Meta.",
"prompt": "What ethical issues are associated with Facebook?"
},
{
"title": "McDonald’s ethics record",
"description": "Overview of McDonald’s ethical record and relevant sources.",
"prompt": "Tell me about the ethics record of McDonald's"
}
],
🤖 Prompt for AI Agents
In mcp-registry/servers/[email protected] around lines 11 to 37, the
example entries contain empty "title" and "description" strings which degrade
UX; replace each empty "title" and "description" with concise, meaningful text
(e.g., summarize the prompt in the title and add a short purpose or context in
description) or remove the "title"/"description" fields entirely for entries you
don't want to annotate; ensure the final JSON keeps valid structure and that
every example either has non-empty title/description or omits those fields.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 4

🧹 Nitpick comments (4)
mcp-registry/servers/boikot-mcp.json (4)

3-3: Use a valid SPDX license identifier.
"GPL v3" is non-standard. Prefer an SPDX-compliant value such as "GPL-3.0-only" or "GPL-3.0-or-later" (confirm intended permissions).

Apply this minimal change if "only" is intended:

-  "license": "GPL v3",
+  "license": "GPL-3.0-only",

4-10: Tighten the tags (nit).
Consider keeping tags short/single-word for consistency across the registry. "lookup tool" can be simplified to "lookup".

   "tags": [
     "ethics",
     "corporate ethics",
     "company information",
     "MCP",
-    "lookup tool"
+    "lookup"
   ],

47-47: Polish description (capitalize brand and tighten phrasing).
Minor copy edit for consistency.

-  "description": "boikot is a community-led initiative to make data on company ethics transparent and accessible.",
+  "description": "Boikot is a community-led initiative to make data on company ethics transparent and accessible.",

58-59: Optional: Clarify tool name to reflect ethics specifically.
If this tool is primarily about ethics, consider naming it "lookup_company_ethics" for precision. If broader, current name is fine.

-      "name": "lookup_company_information",
-      "description": "Lookup information about a company's ethics.",
+      "name": "lookup_company_ethics",
+      "description": "Look up information about a company's ethics.",

Note: This is a breaking rename; only do this if no clients depend on the current name yet.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 274d1e2 and 2bbed06.

📒 Files selected for processing (1)
  • mcp-registry/servers/boikot-mcp.json (1 hunks)
🔇 Additional comments (2)
mcp-registry/servers/boikot-mcp.json (2)

2-2: Good, clear display name.
No issues with the display name; it matches the server purpose.


71-71: Good to explicitly mark non-official status.
Clear and helpful for users.

Comment on lines +12 to +37
{
"title": "",
"description": "",
"prompt": "What can you tell me about the ethics of Amazon?"
},
{
"title": "",
"description": "",
"prompt": "Is Nestl\u00e9 considered ethical?"
},
{
"title": "",
"description": "",
"prompt": "Look up information about Apple's corporate practices"
},
{
"title": "",
"description": "",
"prompt": "What ethical issues are associated with Facebook?"
},
{
"title": "",
"description": "",
"prompt": "Tell me about the ethics record of McDonald's"
}
],
Copy link

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

Fill example titles/descriptions for better UX and discoverability.
Empty title/description fields reduce usefulness in UIs and docs. Provide concise, descriptive values.

   "examples": [
     {
-      "title": "",
-      "description": "",
+      "title": "Amazon ethics overview",
+      "description": "Summarize key ethical concerns and sources about Amazon.",
       "prompt": "What can you tell me about the ethics of Amazon?"
     },
     {
-      "title": "",
-      "description": "",
+      "title": "Nestlé ethical assessment",
+      "description": "Check whether Nestlé is considered ethical and why.",
       "prompt": "Is Nestl\u00e9 considered ethical?"
     },
     {
-      "title": "",
-      "description": "",
+      "title": "Apple corporate practices",
+      "description": "Retrieve information on Apple’s corporate practices and controversies.",
       "prompt": "Look up information about Apple's corporate practices"
     },
     {
-      "title": "",
-      "description": "",
+      "title": "Facebook ethical issues",
+      "description": "List notable ethical issues associated with Facebook and supporting sources.",
       "prompt": "What ethical issues are associated with Facebook?"
     },
     {
-      "title": "",
-      "description": "",
+      "title": "McDonald’s ethics record",
+      "description": "Summarize McDonald’s ethics record with references.",
       "prompt": "Tell me about the ethics record of McDonald's"
     }
   ],
🤖 Prompt for AI Agents
In mcp-registry/servers/boikot-mcp.json around lines 12 to 37, several entries
have empty "title" and "description" fields which harms UX and discoverability;
populate each entry with a short, specific title (e.g., "Amazon ethics
overview", "Nestlé ethical concerns", "Apple corporate practices", "Facebook
ethical issues", "McDonald's ethics record") and a one-sentence description
summarizing the prompt intent (e.g., "Summary of ethical controversies and
practices related to Amazon") so UIs and docs can present clear, scannable
labels; keep titles <= 6 words and descriptions one concise sentence that
mirrors the prompt.

Comment on lines 51 to 55
"installations": {
"http": {
"url": "https://mcp.boikot.xyz/mcp"
}
},
Copy link

Choose a reason for hiding this comment

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

💡 Verification agent

🧩 Analysis chain

Verify installation endpoint availability and protocol.
The HTTP installation URL looks fine; please confirm it’s reachable and serves the expected MCP handshake/metadata.


🏁 Script executed:

#!/bin/bash
# Basic availability check and content-type sniff
set -e
curl -sSL -D - -o /dev/null https://mcp.boikot.xyz/mcp | sed -n '1,10p'
curl -sSL https://mcp.boikot.xyz/mcp | head -c 500 | sed -n '1,20p'

Length of output: 513


Include SSE Accept header or switch to SSE protocol for MCP installation

The endpoint https://mcp.boikot.xyz/mcp is reachable but returns HTTP/2 406 (“Not Acceptable: Client must accept text/event-stream”) when queried without the proper header. Please update your JSON configuration or client to perform an SSE handshake:

• In mcp-registry/servers/boikot-mcp.json (lines 51–55), either:
– Switch to an sse installation entry:
json "installations": { "sse": { "url": "https://mcp.boikot.xyz/mcp" } }
– Or add an Accept: text/event-stream header under http:
json "installations": { "http": { "url": "https://mcp.boikot.xyz/mcp", "headers": { "Accept": "text/event-stream" } } }

• Verify the handshake returns the expected MCP metadata:

curl -H "Accept: text/event-stream" https://mcp.boikot.xyz/mcp

Ensure you receive a 200 OK and the SSE stream.

🤖 Prompt for AI Agents
In mcp-registry/servers/boikot-mcp.json around lines 51–55 the MCP installation
is defined as an HTTP endpoint but the server requires an SSE handshake (returns
406 without Accept: text/event-stream); update the JSON by either changing the
installation key to "sse" with the same URL or by keeping "http" and adding a
headers object with "Accept": "text/event-stream", then verify the handshake
(e.g., curl with that Accept header) returns 200 and the expected MCP SSE
metadata.

Comment on lines +56 to +70
"tools": [
{
"name": "lookup_company_information",
"description": "Lookup information about a company's ethics.",
"input_schema": {
"type": "object",
"properties": {
"company_name": {
"type": "string",
"description": "The name of the company to look up."
}
}
}
}
],
Copy link

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

Enforce required input and schema strictness for the tool.
Input schema should mark company_name as required and disallow extraneous fields to avoid unexpected payloads.

   "tools": [
     {
       "name": "lookup_company_information",
       "description": "Lookup information about a company's ethics.",
       "input_schema": {
         "type": "object",
+        "additionalProperties": false,
+        "required": ["company_name"],
         "properties": {
           "company_name": {
             "type": "string",
+            "minLength": 1,
             "description": "The name of the company to look up."
           }
         }
       }
     }
   ],
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"tools": [
{
"name": "lookup_company_information",
"description": "Lookup information about a company's ethics.",
"input_schema": {
"type": "object",
"properties": {
"company_name": {
"type": "string",
"description": "The name of the company to look up."
}
}
}
}
],
"tools": [
{
"name": "lookup_company_information",
"description": "Lookup information about a company's ethics.",
"input_schema": {
"type": "object",
"additionalProperties": false,
"required": ["company_name"],
"properties": {
"company_name": {
"type": "string",
"minLength": 1,
"description": "The name of the company to look up."
}
}
}
}
],
🤖 Prompt for AI Agents
In mcp-registry/servers/boikot-mcp.json around lines 56 to 70, the tool input
schema does not mark company_name as required nor disallow extra fields; update
the tool's input_schema to include a "required": ["company_name"] array and set
"additionalProperties": false so company_name is mandatory and extraneous fields
are rejected, keeping the existing "type", "properties", and descriptions
intact.

@JoJoJoJoJoJoJo JoJoJoJoJoJoJo merged commit bd00621 into main Aug 13, 2025
8 checks passed
@JoJoJoJoJoJoJo JoJoJoJoJoJoJo deleted the scrape-issue-230 branch August 13, 2025 10:46
@mcpm-semantic-release
Copy link

🎉 This PR is included in version 2.7.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants