Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 72 additions & 0 deletions mcp-registry/servers/boikot-mcp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
{
"display_name": "Boikot MCP Server",
"license": "GPL v3",
"tags": [
"ethics",
"corporate ethics",
"company information",
"MCP",
"lookup tool"
],
"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"
}
],
Comment on lines +12 to +37
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.

"name": "boikot-mcp",
"repository": {
"type": "git",
"url": "https://github.com/boikot-xyz/boikot"
},
"homepage": "https://github.com/boikot-xyz/boikot",
"author": {
"name": "boikot-xyz"
},
"description": "boikot is a community-led initiative to make data on company ethics transparent and accessible.",
"categories": [
"Error"
],
"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.

"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."
}
}
}
}
],
Comment on lines +57 to +71
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.

"is_official": false
}
53 changes: 53 additions & 0 deletions mcp-registry/servers/[email protected]
Original file line number Diff line number Diff line change
@@ -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.

"tags": [
"ethics",
"corporate ethics",
"company information",
"MCP",
"lookup tool"
],
"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": "",
Copy link

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.
"description": "",
Copy link

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.
"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.

"name": "@boikot-xyz/boikot",
"repository": {
"type": "git",
"url": "https://github.com/boikot-xyz/boikot"
},
"homepage": "https://github.com/boikot-xyz/boikot",
"author": {
"name": "boikot-xyz"
},
"description": "boikot is a community-led initiative to make data on company ethics transparent and accessible.",
"categories": [
"Error"
Copy link

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.
],
"installations": {},
"is_official": false
}
Loading