getregdata-mcp 1.0.3 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -3
- package/actors.js +1440 -32
- package/index.js +33 -21
- package/package.json +2 -2
package/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
// getregdata MCP server - exposes
|
|
2
|
+
// getregdata MCP server - exposes the regdata official business-registry actors as MCP tools.
|
|
3
3
|
// KYC/AML, credit-risk, due-diligence and B2B data across 11 jurisdictions.
|
|
4
4
|
//
|
|
5
5
|
// Auth: set APIFY_TOKEN in the environment (get one free at
|
|
@@ -13,8 +13,10 @@ import {
|
|
|
13
13
|
CallToolRequestSchema,
|
|
14
14
|
ListToolsRequestSchema,
|
|
15
15
|
} from "@modelcontextprotocol/sdk/types.js";
|
|
16
|
+
import { createRequire } from "node:module";
|
|
16
17
|
import { ACTORS } from "./actors.js";
|
|
17
18
|
|
|
19
|
+
const pkg = createRequire(import.meta.url)("./package.json");
|
|
18
20
|
const APIFY_BASE = "https://api.apify.com/v2";
|
|
19
21
|
const token = () => process.env.APIFY_TOKEN || process.env.APIFY_API_TOKEN || "";
|
|
20
22
|
|
|
@@ -64,31 +66,41 @@ const bySlug = Object.fromEntries(ACTORS.map((a) => [a.slug, a]));
|
|
|
64
66
|
const byTool = Object.fromEntries(ACTORS.map((a) => [a.tool, a]));
|
|
65
67
|
|
|
66
68
|
// One tool per actor + two helpers (catalog, describe).
|
|
69
|
+
const MAX_ITEMS_PROP = {
|
|
70
|
+
type: "integer",
|
|
71
|
+
description: "Optional cap on billed dataset items returned.",
|
|
72
|
+
};
|
|
73
|
+
|
|
67
74
|
function buildToolList() {
|
|
68
|
-
const actorTools = ACTORS.map((a) =>
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
75
|
+
const actorTools = ACTORS.map((a) => {
|
|
76
|
+
// Deployed input schema baked in by scripts/gen-manifest.mjs; freeform fallback.
|
|
77
|
+
const schema = a.inputSchema
|
|
78
|
+
? {
|
|
79
|
+
...a.inputSchema,
|
|
80
|
+
properties: { ...a.inputSchema.properties, maxItems: MAX_ITEMS_PROP },
|
|
81
|
+
}
|
|
82
|
+
: {
|
|
83
|
+
type: "object",
|
|
84
|
+
description: `Input for regdata/${a.slug}. Freeform - matches the actor's Apify input schema.`,
|
|
85
|
+
properties: { maxItems: MAX_ITEMS_PROP },
|
|
86
|
+
additionalProperties: true,
|
|
87
|
+
};
|
|
88
|
+
const hint = a.inputSchema
|
|
89
|
+
? `Advanced fields beyond this schema are also accepted (regdata_describe lists them).`
|
|
90
|
+
: `Pass the registry's search input as a flat object (e.g. name, tax ID, or registration number); ` +
|
|
91
|
+
`call regdata_describe with slug "${a.slug}" first if unsure of the exact fields.`;
|
|
92
|
+
return {
|
|
93
|
+
name: a.tool,
|
|
94
|
+
description: `${a.title}. ${a.description} ${hint}`,
|
|
95
|
+
inputSchema: schema,
|
|
96
|
+
};
|
|
97
|
+
});
|
|
86
98
|
|
|
87
99
|
return [
|
|
88
100
|
{
|
|
89
101
|
name: "regdata_catalog",
|
|
90
102
|
description:
|
|
91
|
-
|
|
103
|
+
`List all ${ACTORS.length} getregdata business-registry actors (KYC/AML, credit-risk, due-diligence, B2B) across 11 jurisdictions, with their tool name and what each returns. Call this first to discover which registry tool to use.`,
|
|
92
104
|
inputSchema: { type: "object", properties: {}, additionalProperties: false },
|
|
93
105
|
},
|
|
94
106
|
{
|
|
@@ -109,7 +121,7 @@ function buildToolList() {
|
|
|
109
121
|
}
|
|
110
122
|
|
|
111
123
|
const server = new Server(
|
|
112
|
-
{ name: "getregdata", version:
|
|
124
|
+
{ name: "getregdata", version: pkg.version },
|
|
113
125
|
{ capabilities: { tools: {} } }
|
|
114
126
|
);
|
|
115
127
|
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "getregdata-mcp",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.5",
|
|
4
4
|
"mcpName": "io.github.Nolpak14/getregdata",
|
|
5
|
-
"description": "MCP server for
|
|
5
|
+
"description": "MCP server for 25+ official business-registry actors (KYC/AML, credit-risk, due-diligence, B2B data) across 11 jurisdictions - Poland, Germany, Italy, Spain, Austria, France, Belgium, Czechia, Slovakia, US (California) and UAE - plus cross-border adverse-media screening.",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"bin": {
|
|
8
8
|
"getregdata-mcp": "index.js"
|