Rank
83
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Crawler Summary
An MCP Client Node In Layers Package, generated by the Node In Layers Toolkit. MCP Client - Helpful tools for making mcp clients. This library exists for helping to make simple mcp clients using node-in-layer systems. How To Use The recommended way of using this library is by using the createClient() function. This function provides a streamlined sdk client for your features and models. You would put this in your SDK library, and then consume this client code on a frontend, or another backend s Published capability contract available. No trust telemetry is available yet. Last updated 2/24/2026.
Freshness
Last checked 2/22/2026
Best For
Contract is available with explicit auth and schema references.
Not Ideal For
@node-in-layers/mcp-client is not ideal for teams that need stronger public trust telemetry, lower setup complexity, or more explicit contract coverage before production rollout.
Evidence Sources Checked
editorial-content, capability-contract, runtime-metrics, public facts pack
An MCP Client Node In Layers Package, generated by the Node In Layers Toolkit. MCP Client - Helpful tools for making mcp clients. This library exists for helping to make simple mcp clients using node-in-layer systems. How To Use The recommended way of using this library is by using the createClient() function. This function provides a streamlined sdk client for your features and models. You would put this in your SDK library, and then consume this client code on a frontend, or another backend s
Public facts
6
Change events
1
Artifacts
0
Freshness
Feb 22, 2026
Published capability contract available. No trust telemetry is available yet. Last updated 2/24/2026.
Trust score
Unknown
Compatibility
MCP
Freshness
Feb 22, 2026
Vendor
Node In Layers
Artifacts
0
Benchmarks
0
Last release
1.5.0
Key links, install path, and a quick operational read before the deeper crawl record.
Summary
Published capability contract available. No trust telemetry is available yet. Last updated 2/24/2026.
Setup snapshot
git clone https://github.com/Node-In-Layers/mcp-client.gitSetup complexity is MEDIUM. Standard integration tests and API key provisioning are required before connecting this to production workloads.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.
Vendor
Node In Layers
Protocol compatibility
MCP
Auth modes
mcp, api_key, oauth
Machine-readable schemas
OpenAPI or schema references published
Handshake status
UNKNOWN
Crawlable docs
6 indexed pages on the official domain
Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.
Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.
Extracted files
0
Examples
4
Snippets
0
Languages
typescript
typescript
// This has the common use mcp domain
import { * as mcp } from '@node-in-layers/mcp-client/mcp/index.js'
import { createClient as createMcpClient } from '@node-in-layers/mcp-client'
import * as domain1 from '../domain1/index.js'
import * as domain2 from '../domain2/index.js'
import * as domain3 from '../domain3/index.js'
import { YourConfig, YourSystemType } from '../types.ts'
export const create = (context: FeaturesContext<YourConfig>) => {
const createClient = (props: {
/**
* If using a frontend, you likely use OIDC and pass an oauth2 token in here.
*/
oauth2Token?: string
/**
* NOTE: This is only useful for if you want to use your client from a backend, or from the CLI.
*/
oauth2?: {
tokenUrl: string
clientId: string
clientSecret: string
scopes: string[]
extraParams?: Record<string, JsonAble>
}
}) => {
const config = {
systemName: context.config.systemName,
environment: context.config.environment,
domains: [mcp, domain1, domain2, domain3],
// These configurations can be put into your main config, and configure the MCP client itself.
mcp: context.config.mcpClient,
credentials: {
key: props.oauth2Token,
},
oauth2: props.oauth2,
}
return createMcpClient<SystemType>(config)
}
return {
createClient,
}
}typescript
import { CoreNamespace, ServicesContext } from '@node-in-layers/core'
// Import these from your Sdk/Client that you created
import { createClient, YourClient } from 'your-sdk'
// This is your Config type for your frontend.
import { AppConfig } from '../types'
const create = async (context: ServicesContext<AppConfig>) => {
// Some common pattern of code for handling authentication to the client.
// When authorization is updated (like logging in) it re-creates the client.
const isAuthenticated = Boolean(context.config.authUser?.access_token)
const token = context.config.authUser?.access_token
const client = await createClient({
oauth2Token: token,
})
return {
client,
isAuthenticated,
}
}tsx
import React from 'react'
import { useNodeInLayersContext } from '../nil/NodeInLayersContext.js'
const HealthCheckBar = () => {
const [health, setHealth] = React.useState(undefined)
const nilContext = useNodeInLayersContext()
const client = nilContext.sdk.services.client
const _checkHealth = async () => {
const response = await client.health.checkHealth()
// Normally we would check for .error here before using.
setHealth(response.health.status)
}
useEffect(() => {
_checkHealth()
}, [])
if (client.isAuthenticated === false) {
return <span>Unknown</span>
}
return <span>{health}</span>
}
export default HealthCheckBartypescript
// config.base.mts
import { CoreNamespace } from '@node-in-layers/core'
import { McpClientNamespace } from '@node-in-layers/mcp-client'
export default async () => {
return {
environment: 'base',
systemName: 'your-system-name',
[CoreNamespace.root]: {
// Set your model factory to the data namespace.
modelFactory: McpClientNamespace.data,
},
}
}Full documentation captured from public sources, including the complete README when available.
Docs source
GITHUB MCP
Editorial quality
ready
An MCP Client Node In Layers Package, generated by the Node In Layers Toolkit. MCP Client - Helpful tools for making mcp clients. This library exists for helping to make simple mcp clients using node-in-layer systems. How To Use The recommended way of using this library is by using the createClient() function. This function provides a streamlined sdk client for your features and models. You would put this in your SDK library, and then consume this client code on a frontend, or another backend s
This library exists for helping to make simple mcp clients using node-in-layer systems.
The recommended way of using this library is by using the createClient() function. This function provides a streamlined sdk client for your features and models. You would put this in your SDK library, and then consume this client code on a frontend, or another backend system.
NOTE: In order to make this library tree shakeable and usable in any environment (backend/frontend), there are TWO mcp domains, that you must choose to import. If you want the ability to use mcp-client functionality on a CLI you must import from "@node-in-layers/mcp-client/backend/index.js" rather than from mcp/index.js.
The following example, you would put in your SDK, and then the instance would be created by the consumer of your backend MCP server. We have set this up so that it could be used from either a Frontend or another Backend system, (such as a CLI).
// This has the common use mcp domain
import { * as mcp } from '@node-in-layers/mcp-client/mcp/index.js'
import { createClient as createMcpClient } from '@node-in-layers/mcp-client'
import * as domain1 from '../domain1/index.js'
import * as domain2 from '../domain2/index.js'
import * as domain3 from '../domain3/index.js'
import { YourConfig, YourSystemType } from '../types.ts'
export const create = (context: FeaturesContext<YourConfig>) => {
const createClient = (props: {
/**
* If using a frontend, you likely use OIDC and pass an oauth2 token in here.
*/
oauth2Token?: string
/**
* NOTE: This is only useful for if you want to use your client from a backend, or from the CLI.
*/
oauth2?: {
tokenUrl: string
clientId: string
clientSecret: string
scopes: string[]
extraParams?: Record<string, JsonAble>
}
}) => {
const config = {
systemName: context.config.systemName,
environment: context.config.environment,
domains: [mcp, domain1, domain2, domain3],
// These configurations can be put into your main config, and configure the MCP client itself.
mcp: context.config.mcpClient,
credentials: {
key: props.oauth2Token,
},
oauth2: props.oauth2,
}
return createMcpClient<SystemType>(config)
}
return {
createClient,
}
}
Now we are going to show how this client can be consumed from a frontend React component.
import { CoreNamespace, ServicesContext } from '@node-in-layers/core'
// Import these from your Sdk/Client that you created
import { createClient, YourClient } from 'your-sdk'
// This is your Config type for your frontend.
import { AppConfig } from '../types'
const create = async (context: ServicesContext<AppConfig>) => {
// Some common pattern of code for handling authentication to the client.
// When authorization is updated (like logging in) it re-creates the client.
const isAuthenticated = Boolean(context.config.authUser?.access_token)
const token = context.config.authUser?.access_token
const client = await createClient({
oauth2Token: token,
})
return {
client,
isAuthenticated,
}
}
import React from 'react'
import { useNodeInLayersContext } from '../nil/NodeInLayersContext.js'
const HealthCheckBar = () => {
const [health, setHealth] = React.useState(undefined)
const nilContext = useNodeInLayersContext()
const client = nilContext.sdk.services.client
const _checkHealth = async () => {
const response = await client.health.checkHealth()
// Normally we would check for .error here before using.
setHealth(response.health.status)
}
useEffect(() => {
_checkHealth()
}, [])
if (client.isAuthenticated === false) {
return <span>Unknown</span>
}
return <span>{health}</span>
}
export default HealthCheckBar
This library defines a "getModelProps()" in the services layer, which can be used to provide models the backend that they need. (Using the functional-models-mcp library)
If you are using the provided client, then you don't need to do any configuring. However, if you are NOT using the client, and want to use the Get Model Props directly you need to add the following to to use it you need to add the following to your configuration.
// config.base.mts
import { CoreNamespace } from '@node-in-layers/core'
import { McpClientNamespace } from '@node-in-layers/mcp-client'
export default async () => {
return {
environment: 'base',
systemName: 'your-system-name',
[CoreNamespace.root]: {
// Set your model factory to the data namespace.
modelFactory: McpClientNamespace.data,
},
}
}
Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.
Contract coverage
Status
ready
Auth
mcp, api_key, oauth
Streaming
Yes
Data region
global
Protocol support
Requires: mcp, lang:typescript, streaming
Forbidden: none
Guardrails
Operational confidence: medium
curl -s "https://xpersona.co/api/v1/agents/mcp-node-in-layers-mcp-client/snapshot"
curl -s "https://xpersona.co/api/v1/agents/mcp-node-in-layers-mcp-client/contract"
curl -s "https://xpersona.co/api/v1/agents/mcp-node-in-layers-mcp-client/trust"
Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.
Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.
Rank
83
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Rank
80
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Rank
74
Expose OpenAPI definition endpoints as MCP tools using the official Rust SDK for the Model Context Protocol (https://github.com/modelcontextprotocol/rust-sdk)
Traction
No public download signal
Freshness
Updated 2d ago
Rank
72
An actix_web backend for the official Rust SDK for the Model Context Protocol (https://github.com/modelcontextprotocol/rust-sdk)
Traction
No public download signal
Freshness
Updated 2d ago
Contract JSON
{
"contractStatus": "ready",
"authModes": [
"mcp",
"api_key",
"oauth"
],
"requires": [
"mcp",
"lang:typescript",
"streaming"
],
"forbidden": [],
"supportsMcp": true,
"supportsA2a": false,
"supportsStreaming": true,
"inputSchemaRef": "https://github.com/Node-In-Layers/mcp-client#input",
"outputSchemaRef": "https://github.com/Node-In-Layers/mcp-client#output",
"dataRegion": "global",
"contractUpdatedAt": "2026-02-24T19:46:11.679Z",
"sourceUpdatedAt": "2026-02-24T19:46:11.679Z",
"freshnessSeconds": 4443358
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://xpersona.co/api/v1/agents/mcp-node-in-layers-mcp-client/snapshot",
"contractUrl": "https://xpersona.co/api/v1/agents/mcp-node-in-layers-mcp-client/contract",
"trustUrl": "https://xpersona.co/api/v1/agents/mcp-node-in-layers-mcp-client/trust"
},
"curlExamples": [
"curl -s \"https://xpersona.co/api/v1/agents/mcp-node-in-layers-mcp-client/snapshot\"",
"curl -s \"https://xpersona.co/api/v1/agents/mcp-node-in-layers-mcp-client/contract\"",
"curl -s \"https://xpersona.co/api/v1/agents/mcp-node-in-layers-mcp-client/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"MCP"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "GITHUB_MCP",
"generatedAt": "2026-04-17T06:02:10.155Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "MCP",
"type": "protocol",
"support": "supported",
"confidenceSource": "contract",
"notes": "Confirmed by capability contract"
}
],
"flattenedTokens": "protocol:MCP|supported|contract"
}Facts JSON
[
{
"factKey": "docs_crawl",
"category": "integration",
"label": "Crawlable docs",
"value": "6 indexed pages on the official domain",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "MCP",
"href": "https://xpersona.co/api/v1/agents/mcp-node-in-layers-mcp-client/contract",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-node-in-layers-mcp-client/contract",
"sourceType": "contract",
"confidence": "high",
"observedAt": "2026-02-24T19:46:11.679Z",
"isPublic": true
},
{
"factKey": "auth_modes",
"category": "compatibility",
"label": "Auth modes",
"value": "mcp, api_key, oauth",
"href": "https://xpersona.co/api/v1/agents/mcp-node-in-layers-mcp-client/contract",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-node-in-layers-mcp-client/contract",
"sourceType": "contract",
"confidence": "high",
"observedAt": "2026-02-24T19:46:11.679Z",
"isPublic": true
},
{
"factKey": "schema_refs",
"category": "artifact",
"label": "Machine-readable schemas",
"value": "OpenAPI or schema references published",
"href": "https://github.com/Node-In-Layers/mcp-client#input",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-node-in-layers-mcp-client/contract",
"sourceType": "contract",
"confidence": "high",
"observedAt": "2026-02-24T19:46:11.679Z",
"isPublic": true
},
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Node In Layers",
"href": "https://github.com/Node-In-Layers/mcp-client",
"sourceUrl": "https://github.com/Node-In-Layers/mcp-client",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-02-24T19:43:14.176Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://xpersona.co/api/v1/agents/mcp-node-in-layers-mcp-client/trust",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-node-in-layers-mcp-client/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
]Change Events JSON
[
{
"eventType": "docs_update",
"title": "Docs refreshed: Sign in to GitHub · GitHub",
"description": "Fresh crawlable documentation was indexed for the official domain.",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
}
]Sponsored
Ads related to @node-in-layers/mcp-client and adjacent AI workflows.