@configcat/mcp-server 0.1.2 → 0.1.4
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 +15 -2
- package/build/index.js +1 -1
- package/build/tools/configcat-api.js +4 -1
- package/build/tools/configcat-docs.js +8 -5
- package/glama.json +6 -0
- package/package.json +3 -2
- package/server.json +43 -0
package/README.md
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
# ConfigCat MCP Server
|
|
2
2
|
|
|
3
|
-
The ConfigCat's Model Context Protocol (MCP) server provides access to [ConfigCat's public management API](https://configcat.com/docs/api/reference/configcat-public-management-api/) for feature flag and configuration management.
|
|
3
|
+
The [ConfigCat](https://configcat.com/)'s Model Context Protocol (MCP) server provides access to [ConfigCat's public management API](https://configcat.com/docs/api/reference/configcat-public-management-api/) for feature flag and configuration management. It also enables your code editor to understand your feature flags, integrate the appropriate ConfigCat SDK into your project or even create new feature flags directly in your codebase.
|
|
4
4
|
|
|
5
5
|
## Features
|
|
6
6
|
|
|
7
|
-
- **Tools**:
|
|
7
|
+
- **Tools**:
|
|
8
|
+
- Complete set of tools for ConfigCat's public management API operations. You can Create, Read, Update and Delete any entities like Feature Flags, Configs, Environments or Products within ConfigCat.
|
|
9
|
+
- Get comprehensive SDK documentation and code examples for seamless feature flag implementation in your project.
|
|
8
10
|
|
|
9
11
|
## Setup
|
|
10
12
|
|
|
@@ -228,3 +230,14 @@ The ConfigCat public API has rate limits. The server will respect these limits a
|
|
|
228
230
|
## Security Note
|
|
229
231
|
|
|
230
232
|
This server is designed for management operations only. Do not use it for evaluating feature flag values in production applications - use the [ConfigCat SDKs](https://configcat.com/docs/sdk-reference/overview/) or [ConfigCat Proxy](https://configcat.com/docs/advanced/proxy/proxy-overview/) instead.
|
|
233
|
+
|
|
234
|
+
## Need help?
|
|
235
|
+
https://configcat.com/support
|
|
236
|
+
|
|
237
|
+
## Contributing
|
|
238
|
+
Contributions are welcome. For more info please read the [Contribution Guideline](CONTRIBUTING.md).
|
|
239
|
+
|
|
240
|
+
## About ConfigCat
|
|
241
|
+
- [ConfigCat MCP server documentation](https://configcat.com/docs/advanced/mcp-server)
|
|
242
|
+
- [Documentation](https://configcat.com/docs)
|
|
243
|
+
- [Blog](https://configcat.com/blog)
|
package/build/index.js
CHANGED
|
@@ -8,7 +8,7 @@ const baseUrl = process.env.CONFIGCAT_BASE_URL ?? "https://api.configcat.com";
|
|
|
8
8
|
const username = process.env.CONFIGCAT_API_USER ?? "";
|
|
9
9
|
const password = process.env.CONFIGCAT_API_PASS ?? "";
|
|
10
10
|
const serverName = "ConfigCat MCP";
|
|
11
|
-
const serverVersion = "0.1.
|
|
11
|
+
const serverVersion = "0.1.4";
|
|
12
12
|
const http = new HttpClient({ baseUrl, username, password, userAgent: `${serverName}/${serverVersion}` });
|
|
13
13
|
const server = new McpServer({ name: serverName, version: serverVersion }, { capabilities: { tools: {} } });
|
|
14
14
|
async function main() {
|
|
@@ -1850,7 +1850,10 @@ given Product identified by the \`productId\` parameter.`,
|
|
|
1850
1850
|
*/
|
|
1851
1851
|
export function registerConfigCatAPITools(server, http) {
|
|
1852
1852
|
for (const [toolName, toolDefinition] of toolDefinitionMap.entries()) {
|
|
1853
|
-
server.
|
|
1853
|
+
server.registerTool(toolName, {
|
|
1854
|
+
description: toolDefinition.description,
|
|
1855
|
+
inputSchema: toolDefinition.inputSchema,
|
|
1856
|
+
}, async (toolArgs) => {
|
|
1854
1857
|
return await executeApiTool(http, toolName, toolDefinition, toolArgs ?? {});
|
|
1855
1858
|
});
|
|
1856
1859
|
}
|
|
@@ -28,15 +28,18 @@ export async function registerConfigCatDocsTools(server, http) {
|
|
|
28
28
|
console.error(`Failed to extract SDK Reference section from ${LLMS_TXT_URL}`);
|
|
29
29
|
return;
|
|
30
30
|
}
|
|
31
|
-
server.
|
|
31
|
+
server.registerTool("update-sdk-documentation", {
|
|
32
|
+
description: `If the user asks for coding related to a feature flag (such as integrating the ConfigCat SDK, adding a feature flag, or removing a feature flag),
|
|
32
33
|
always call the tool "update-sdk-documentation" first to download the latest ConfigCat SDK documentation.
|
|
33
34
|
|
|
34
35
|
1. Analyze the SDK URLs listed in the following SDK Reference list.
|
|
35
36
|
2. Then call the tool "update-sdk-documentation" with specific URL from the SDK Reference list to fetch relevant documentation page.
|
|
36
37
|
|
|
37
|
-
${sdkDocs}`,
|
|
38
|
-
|
|
39
|
-
|
|
38
|
+
${sdkDocs}`,
|
|
39
|
+
inputSchema: {
|
|
40
|
+
url: z.string().url().describe("The URL to fetch SDK documentation from."),
|
|
41
|
+
},
|
|
42
|
+
}, (async ({ url }) => {
|
|
40
43
|
try {
|
|
41
44
|
console.error(`Fetching documentation from: ${url}`);
|
|
42
45
|
const response = await http.fetch(url);
|
|
@@ -68,6 +71,6 @@ export async function registerConfigCatDocsTools(server, http) {
|
|
|
68
71
|
isError: true,
|
|
69
72
|
};
|
|
70
73
|
}
|
|
71
|
-
});
|
|
74
|
+
}));
|
|
72
75
|
}
|
|
73
76
|
//# sourceMappingURL=configcat-docs.js.map
|
package/glama.json
ADDED
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@configcat/mcp-server",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
|
+
"mcpName": "io.github.configcat/mcp-server",
|
|
4
5
|
"type": "module",
|
|
5
6
|
"description": "MCP server exposing ConfigCat Public Management API (products, configs, environments, values v1/v2).",
|
|
6
7
|
"engines": {
|
|
@@ -19,7 +20,7 @@
|
|
|
19
20
|
},
|
|
20
21
|
"repository": {
|
|
21
22
|
"type": "git",
|
|
22
|
-
"url": "git+https://github.com/configcat/
|
|
23
|
+
"url": "git+https://github.com/configcat/mcp-server.git"
|
|
23
24
|
},
|
|
24
25
|
"keywords": [
|
|
25
26
|
"configcat",
|
package/server.json
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-10-17/server.schema.json",
|
|
3
|
+
"name": "io.github.configcat/mcp-server",
|
|
4
|
+
"description": "Enables AI agents to interact with ConfigCat, a feature flag service for teams.",
|
|
5
|
+
"repository": {
|
|
6
|
+
"url": "https://github.com/configcat/mcp-server",
|
|
7
|
+
"source": "github"
|
|
8
|
+
},
|
|
9
|
+
"version": "0.1.4",
|
|
10
|
+
"packages": [
|
|
11
|
+
{
|
|
12
|
+
"registryType": "npm",
|
|
13
|
+
"identifier": "@configcat/mcp-server",
|
|
14
|
+
"version": "0.1.4",
|
|
15
|
+
"transport": {
|
|
16
|
+
"type": "stdio"
|
|
17
|
+
},
|
|
18
|
+
"environmentVariables": [
|
|
19
|
+
{
|
|
20
|
+
"description": "ConfigCat Management API basic authentication username.",
|
|
21
|
+
"isRequired": true,
|
|
22
|
+
"format": "string",
|
|
23
|
+
"isSecret": true,
|
|
24
|
+
"name": "CONFIGCAT_API_USER"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"description": "ConfigCat Management API basic authentication password.",
|
|
28
|
+
"isRequired": true,
|
|
29
|
+
"format": "string",
|
|
30
|
+
"isSecret": true,
|
|
31
|
+
"name": "CONFIGCAT_API_PASS"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"description": "Base URL for the ConfigCat API. Defaults to `https://api.configcat.com`.",
|
|
35
|
+
"isRequired": false,
|
|
36
|
+
"format": "string",
|
|
37
|
+
"isSecret": false,
|
|
38
|
+
"name": "CONFIGCAT_BASE_URL"
|
|
39
|
+
}
|
|
40
|
+
]
|
|
41
|
+
}
|
|
42
|
+
]
|
|
43
|
+
}
|