Skip to content
Merged
Changes from all 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
73 changes: 73 additions & 0 deletions mcp-registry/servers/boikot-mcp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
{
"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": [
"Analytics"
],
"installations": {
"http": {
"type": "http",
"url": "https://mcp.boikot.xyz/mcp"
}
},
"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
}