-
Notifications
You must be signed in to change notification settings - Fork 7
Open
Description
Summary:
When running the opslevel-mcp server, we have noticed that the memory utilization slowly creeps up over time. I was unable to access debug profile tools in our environment where we are seeing it, but I did run them locally and nothing stood out (but I could have missed something). One thing I noticed in the log is that it is calling Starting MCP server... multiple times at around the same time. I'm not super familiar with this mcp service, but just wanted to point that out.
Version:
v2025.8.5
Logs:
[opslevel-mcp-7fffd66dbc-vlp28] [supergateway] Child stderr: 8:12PM INF Starting MCP server...
[opslevel-mcp-7fffd66dbc-vlp28]
[opslevel-mcp-7fffd66dbc-vlp28] [supergateway] Child → StreamableHttp: {"jsonrpc":"2.0","id":"init_1766175150025_558lhqg8b","result":{"protocolVersion":"2024-11-05","capabilities":{"tools":{"listChanged":true}},"serverInfo":{"name":"OpsLevel","version":"2025.8.5"},"instructions":"OpsLevel is an internal developer portal that helps engineering teams to build, manage, and operate their services with confidence.\nIt provides a single source of truth for all their services, making it easy to discover, understand, and manage them.\n\nThe main components of OpsLevel include:\n- **Catalog**: A comprehensive catalog of components, services and infrastructure, including metadata, ownership, and documentation. This can be broken down further into:\n - Teams\n - Components (previously known as services. This is the main entity in OpsLevel, representing a service or application that is owned by a team. Has a name, description and type)\n - Repositories\n - Infrastructure\n - Systems (a way to represent Components that combine to form a unified whole or function.)\n - Domains (large business units or verticals, made up of Systems)\n - Component Dependencies\n- **Component Maturity**: A set of customer defined best practices and standards for building and operating services, including security, reliability, and performance.\n - Rubrics (evaluation of these determines a component's maturity level across an organization)\n - Scorecards (like a rubric but does not impact maturity level)\n - Checks (scorecards and rubrics are made up of individual checks like \"has a README\" or \"has a health check\")\n - Filters (a named set of predicates that select components based on their metadata, like \"uses rails\" or \"is owned by team X\")\n- **Actions**: Tools and integrations that help automate common tasks and workflows, such as deployment, monitoring, and incident response.\n"}}
[opslevel-mcp-7fffd66dbc-vlp28] [supergateway] Initialize response received
[opslevel-mcp-7fffd66dbc-vlp28] [supergateway] StreamableHttp → Child (initialized): {"jsonrpc":"2.0","method":"notifications/initialized"}
[opslevel-mcp-7fffd66dbc-vlp28] [supergateway] StreamableHttp → Child (original): {"jsonrpc":"2.0","method":"notifications/initialized","params":{}}
[opslevel-mcp-7fffd66dbc-vlp28] [supergateway] Child stderr: 8:12PM INF Starting MCP server...
[opslevel-mcp-7fffd66dbc-vlp28]
[opslevel-mcp-7fffd66dbc-vlp28] [supergateway] Child → StreamableHttp: {"jsonrpc":"2.0","id":"init_1766175150122_pc1k7npn0","result":{"protocolVersion":"2024-11-05","capabilities":{"tools":{"listChanged":true}},"serverInfo":{"name":"OpsLevel","version":"2025.8.5"},"instructions":"OpsLevel is an internal developer portal that helps engineering teams to build, manage, and operate their services with confidence.\nIt provides a single source of truth for all their services, making it easy to discover, understand, and manage them.\n\nThe main components of OpsLevel include:\n- **Catalog**: A comprehensive catalog of components, services and infrastructure, including metadata, ownership, and documentation. This can be broken down further into:\n - Teams\n - Components (previously known as services. This is the main entity in OpsLevel, representing a service or application that is owned by a team. Has a name, description and type)\n - Repositories\n - Infrastructure\n - Systems (a way to represent Components that combine to form a unified whole or function.)\n - Domains (large business units or verticals, made up of Systems)\n - Component Dependencies\n- **Component Maturity**: A set of customer defined best practices and standards for building and operating services, including security, reliability, and performance.\n - Rubrics (evaluation of these determines a component's maturity level across an organization)\n - Scorecards (like a rubric but does not impact maturity level)\n - Checks (scorecards and rubrics are made up of individual checks like \"has a README\" or \"has a health check\")\n - Filters (a named set of predicates that select components based on their metadata, like \"uses rails\" or \"is owned by team X\")\n- **Actions**: Tools and integrations that help automate common tasks and workflows, such as deployment, monitoring, and incident response.\n"}}
[opslevel-mcp-7fffd66dbc-vlp28] [supergateway] Initialize response received
[opslevel-mcp-7fffd66dbc-vlp28] [supergateway] StreamableHttp → Child (initialized): {"jsonrpc":"2.0","method":"notifications/initialized"}
[opslevel-mcp-7fffd66dbc-vlp28] [supergateway] StreamableHttp → Child (original): {"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}
[opslevel-mcp-7fffd66dbc-vlp28] [supergateway] Child → StreamableHttp: {"jsonrpc":"2.0","id":2,"result":{"tools":[{"annotations":{"title":"Account Metadata in OpsLevel","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"description":"Get metadata about the OpsLevel account including component types, tiers, \u0026 lifecycles, and maturity levels. Use this tool to retrieve relevant context (including indexes and ids for filters) before making other tool calls. Provide `types` whenever possible.","inputSchema":{"properties":{"types":{"description":"Optional array of specific metadata types to fetch. Valid values: lifecycles, levels, tiers, componentTypes. If omitted, all metadata types will be fetched.","items":{"enum":["lifecycles","levels","tiers","componentTypes"],"type":"string"},"type":"array"}},"type":"object"},"name":"accountMetadata"},{"annotations":{"title":"Actions in OpsLevel","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"description":"Get all the information about actions the user can run in the OpsLevel account","inputSchema":{"properties":{},"type":"object"},"name":"actions"},{"annotations":{"title":"Campaigns in OpsLevel","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"description":"Get all the campaigns in the OpsLevel account. Campaigns are used to track and manage initiatives or projects within OpsLevel.","inputSchema":{"properties":{"status":{"description":"Filter campaigns by status, default is 'in_progress'","enum":["delayed","draft","ended","in_progress","scheduled"],"type":"string"}},"type":"object"},"name":"campaigns"},{"annotations":{"title":"Checks in OpsLevel","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"description":"Get all the checks in the OpsLevel account. Checks provide a foundation for evaluating the maturity of software components, allowing for the definition and enforcement of criteria that ensure components are built and maintained according to best practices. Check priority is determined by level index, not level name—lower index means higher priority.","inputSchema":{"properties":{},"type":"object"},"name":"checks"},{"annotations":{"title":"Rubric of Checks for Component","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"description":"Get all the checks for a specific component in the OpsLevel account. Checks are organized by level in a rubric, with each level containing a set of checks that must be passed to achieve that level.","inputSchema":{"properties":{"serviceId":{"description":"The id of the service to fetch.","type":"string"}},"required":["serviceId"],"type":"object"},"name":"componentChecks"},{"annotations":{"title":"Components in OpsLevel","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"description":"Filter and retrieve components in the OpsLevel catalog. Use as specific a filter as possible to narrow down results and avoid fetching a high number of components.\n\nComponents represent services, APIs, libraries, and other software artifacts with metadata such as owner (Team), language, framework, maturity level, lifecycle stage, and tier. Lower tier_index indicates greater criticality. Lower level_index indicates lower maturity level (e.g. Bronze=\"0\", Silver=\"1\", Gold=\"2\").\n\nUse the 'filter' parameter to narrow down results. 'filter' \"arg\" must always be a string.\nFor simple filters:\n { \"key\": \"name\", \"type\": \"equals\", \"arg\": \"service-name\" }\n \nFor better precision, use composite filters:\n { \n \"connective\": \"and\", \n \"predicates\": [\n { \"key\": \"language\", \"type\": \"equals\", \"arg\": \"Python\" },\n { \"key\": \"owner_id\", \"type\": \"equals\", \"arg\": \"gid://opslevel/Team/123\" }\n ]\n }\n\nCommon filter keys: name, language, framework, owner_id, tags, tier_index, lifecycle_index\nCommon filter types: equals, contains, matches, exists, greater_than_or_equal_to\n\nFor complete reference:\n- Keys: aliases, alert_status, component_type_id, creation_source, deploy_environment, domain_id, filter_id, framework, group_ids, language, level_index, lifecycle_index, name, owner_id, owner_ids, product, properties, property, relationship, repository_ids, system_id, tag, tags, tier_index\n- Types: belongs_to, contains, does_not_contain, does_not_equal, does_not_exist, does_not_match, does_not_match_regex, ends_with, equals, exists, greater_than_or_equal_to, less_than_or_equal_to, matches, matches_regex, satisfies_jq_expression\n","inputSchema":{"properties":{"filter":{"description":"Optional filter for components. For simple filters, provide {key, type, arg}. For composite filters, provide {connective, predicates}. See description for allowed values and format.","properties":{},"type":"object"}},"type":"object"},"name":"components"},{"annotations":{"title":"Document in OpsLevel","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"description":"Get the contents of a technical or api document in the OpsLevel account, specified by document 'id' or the 'preferredApiDocument' (on a component). Documents could be things like runbooks, integration documentation, api documentation, readme's, or other forms of documentation.","inputSchema":{"properties":{"id":{"description":"The id of the document to fetch.","type":"string"}},"required":["id"],"type":"object"},"name":"document"},{"annotations":{"title":"Documents in OpsLevel","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"description":"Get all the documents for the OpsLevel account. Documents are filterable by search term. Documents could be things like runbooks, integration documentation, api documentation, readme's, or other forms of documentation.","inputSchema":{"properties":{"searchTerm":{"description":"To filter documents with.","type":"string"}},"type":"object"},"name":"documents"},{"annotations":{"title":"Documents for Service in OpsLevel","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"description":"Get all documents on a specified service for the OpsLevel account, specified by service id and filtered by search term. Documents could be things like runbooks, integration documentation, api documentation, readme's, or other forms of documentation.","inputSchema":{"properties":{"searchTerm":{"description":"To filter documents with.","type":"string"},"serviceId":{"description":"The id of the service which the documents are on.","type":"string"}},"required":["serviceId"],"type":"object"},"name":"documentsOnService"},{"annotations":{"title":"Domains in OpsLevel","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"description":"Get all the domains in the OpsLevel account. Domains are comprised of child Systems which contain Components. Used to represent large business units or verticals within OpsLevel.","inputSchema":{"properties":{},"type":"object"},"name":"domains"},{"annotations":{"title":"Filters in OpsLevel","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"description":"Get all the rubric filter names and which predicates they have for the OpsLevel account","inputSchema":{"properties":{},"type":"object"},"name":"filters"},{"annotations":{"title":"Infrastructure in OpsLevel","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"description":"Get all the infrastructure in the OpsLevel account. Infrastructure are objects in OpsLevel that represent cloud provider resources like vpc, databases, caches, networks, vms, etc.","inputSchema":{"properties":{},"type":"object"},"name":"infrastructure"},{"annotations":{"title":"Resource Details in OpsLevel","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"description":"Get details for a single resource (domain,group,infrastructure_resource,scorecard,service,system,team) in an OpsLevel account using its ID or alias.","inputSchema":{"properties":{"identifier":{"description":"The ID or alias of the resource.","type":"string"},"resourceType":{"description":"The type of the resource.","enum":["domain","group","infrastructure_resource","scorecard","service","system","team"],"type":"string"}},"required":["resourceType","identifier"],"type":"object"},"name":"resourceDetails"},{"annotations":{"title":"Systems in OpsLevel","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"description":"Get all the systems in the OpsLevel account. Systems are made up of Components that combine to form a unified whole or function. eg a 'Checkout' System that combines a cart and payment component.","inputSchema":{"properties":{},"type":"object"},"name":"systems"},{"annotations":{"title":"Teams in OpsLevel","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"description":"Get all team names, contact methods, and metadata for the OpsLevel account. Teams are owners of other objects in OpsLevel. Provide searchTerm when looking for a specific team by name.","inputSchema":{"properties":{"searchTerm":{"description":"The name of the team to search for. Partial matches are returned. Case insensitive.","type":"string"}},"type":"object"},"name":"teams"},{"annotations":{"title":"Users in OpsLevel","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"description":"Get all the user names, e-mail addresses and metadata for the OpsLevel account. Users are the people in OpsLevel. Only use this if you need to search all users.","inputSchema":{"properties":{},"type":"object"},"name":"users"}]}}
[opslevel-mcp-7fffd66dbc-vlp28] [supergateway] StreamableHttp → Child: {"jsonrpc":"2.0","id":3,"method":"prompts/list","params":{}}
[opslevel-mcp-7fffd66dbc-vlp28] [supergateway] Non-initialize message detected, sending auto-initialize request first
[opslevel-mcp-7fffd66dbc-vlp28] [supergateway] StreamableHttp → Child (auto-initialize): {"jsonrpc":"2.0","id":"init_1766175150312_n7bv9m632","method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{"roots":{"listChanged":true},"sampling":{}},"clientInfo":{"name":"supergateway","version":"3.4.3"}}}
[opslevel-mcp-7fffd66dbc-vlp28] [supergateway] Child stderr: 8:12PM INF Starting MCP server...
[opslevel-mcp-7fffd66dbc-vlp28]
[opslevel-mcp-7fffd66dbc-vlp28] [supergateway] Child → StreamableHttp: {"jsonrpc":"2.0","id":"init_1766175150312_n7bv9m632","result":{"protocolVersion":"2024-11-05","capabilities":{"tools":{"listChanged":true}},"serverInfo":{"name":"OpsLevel","version":"2025.8.5"},"instructions":"OpsLevel is an internal developer portal that helps engineering teams to build, manage, and operate their services with confidence.\nIt provides a single source of truth for all their services, making it easy to discover, understand, and manage them.\n\nThe main components of OpsLevel include:\n- **Catalog**: A comprehensive catalog of components, services and infrastructure, including metadata, ownership, and documentation. This can be broken down further into:\n - Teams\n - Components (previously known as services. This is the main entity in OpsLevel, representing a service or application that is owned by a team. Has a name, description and type)\n - Repositories\n - Infrastructure\n - Systems (a way to represent Components that combine to form a unified whole or function.)\n - Domains (large business units or verticals, made up of Systems)\n - Component Dependencies\n- **Component Maturity**: A set of customer defined best practices and standards for building and operating services, including security, reliability, and performance.\n - Rubrics (evaluation of these determines a component's maturity level across an organization)\n - Scorecards (like a rubric but does not impact maturity level)\n - Checks (scorecards and rubrics are made up of individual checks like \"has a README\" or \"has a health check\")\n - Filters (a named set of predicates that select components based on their metadata, like \"uses rails\" or \"is owned by team X\")\n- **Actions**: Tools and integrations that help automate common tasks and workflows, such as deployment, monitoring, and incident response.\n"}}
[opslevel-mcp-7fffd66dbc-vlp28] [supergateway] Initialize response received
[opslevel-mcp-7fffd66dbc-vlp28] [supergateway] StreamableHttp → Child (initialized): {"jsonrpc":"2.0","method":"notifications/initialized"}
[opslevel-mcp-7fffd66dbc-vlp28] [supergateway] StreamableHttp → Child (original): {"jsonrpc":"2.0","id":3,"method":"prompts/list","params":{}}
[opslevel-mcp-7fffd66dbc-vlp28] [supergateway] Child → StreamableHttp: {"jsonrpc":"2.0","id":3,"error":{"code":-32601,"message":"prompts not supported"}}
[opslevel-mcp-7fffd66dbc-vlp28] [supergateway] StreamableHttp → Child: {"jsonrpc":"2.0","id":4,"method":"resources/list","params":{}}
[opslevel-mcp-7fffd66dbc-vlp28] [supergateway] Non-initialize message detected, sending auto-initialize request first
[opslevel-mcp-7fffd66dbc-vlp28] [supergateway] StreamableHttp → Child (auto-initialize): {"jsonrpc":"2.0","id":"init_1766175150506_7cezqfa1m","method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{"roots":{"listChanged":true},"sampling":{}},"clientInfo":{"name":"supergateway","version":"3.4.3"}}}
[opslevel-mcp-7fffd66dbc-vlp28] [supergateway] Child stderr: 8:12PM INF Starting MCP server...
[opslevel-mcp-7fffd66dbc-vlp28]
[opslevel-mcp-7fffd66dbc-vlp28] [supergateway] Child → StreamableHttp: {"jsonrpc":"2.0","id":"init_1766175150506_7cezqfa1m","result":{"protocolVersion":"2024-11-05","capabilities":{"tools":{"listChanged":true}},"serverInfo":{"name":"OpsLevel","version":"2025.8.5"},"instructions":"OpsLevel is an internal developer portal that helps engineering teams to build, manage, and operate their services with confidence.\nIt provides a single source of truth for all their services, making it easy to discover, understand, and manage them.\n\nThe main components of OpsLevel include:\n- **Catalog**: A comprehensive catalog of components, services and infrastructure, including metadata, ownership, and documentation. This can be broken down further into:\n - Teams\n - Components (previously known as services. This is the main entity in OpsLevel, representing a service or application that is owned by a team. Has a name, description and type)\n - Repositories\n - Infrastructure\n - Systems (a way to represent Components that combine to form a unified whole or function.)\n - Domains (large business units or verticals, made up of Systems)\n - Component Dependencies\n- **Component Maturity**: A set of customer defined best practices and standards for building and operating services, including security, reliability, and performance.\n - Rubrics (evaluation of these determines a component's maturity level across an organization)\n - Scorecards (like a rubric but does not impact maturity level)\n - Checks (scorecards and rubrics are made up of individual checks like \"has a README\" or \"has a health check\")\n - Filters (a named set of predicates that select components based on their metadata, like \"uses rails\" or \"is owned by team X\")\n- **Actions**: Tools and integrations that help automate common tasks and workflows, such as deployment, monitoring, and incident response.\n"}}
[opslevel-mcp-7fffd66dbc-vlp28] [supergateway] Initialize response received
[opslevel-mcp-7fffd66dbc-vlp28] [supergateway] StreamableHttp → Child (initialized): {"jsonrpc":"2.0","method":"notifications/initialized"}
[opslevel-mcp-7fffd66dbc-vlp28] [supergateway] StreamableHttp → Child (original): {"jsonrpc":"2.0","id":4,"method":"resources/list","params":{}}
[opslevel-mcp-7fffd66dbc-vlp28] [supergateway] Child → StreamableHttp: {"jsonrpc":"2.0","id":4,"error":{"code":-32601,"message":"resources not supported"}}
[opslevel-mcp-7fffd66dbc-vlp28] [supergateway] StreamableHttp → Child: {"jsonrpc":"2.0","id":5,"method":"resources/templates/list","params":{}}
[opslevel-mcp-7fffd66dbc-vlp28] [supergateway] Non-initialize message detected, sending auto-initialize request first
[opslevel-mcp-7fffd66dbc-vlp28] [supergateway] StreamableHttp → Child (auto-initialize): {"jsonrpc":"2.0","id":"init_1766175150693_znpqq71hg","method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{"roots":{"listChanged":true},"sampling":{}},"clientInfo":{"name":"supergateway","version":"3.4.3"}}}
[opslevel-mcp-7fffd66dbc-vlp28] [supergateway] Child stderr: 8:12PM INF Starting MCP server...
[opslevel-mcp-7fffd66dbc-vlp28]
[opslevel-mcp-7fffd66dbc-vlp28] [supergateway] Child → StreamableHttp: {"jsonrpc":"2.0","id":"init_1766175150693_znpqq71hg","result":{"protocolVersion":"2024-11-05","capabilities":{"tools":{"listChanged":true}},"serverInfo":{"name":"OpsLevel","version":"2025.8.5"},"instructions":"OpsLevel is an internal developer portal that helps engineering teams to build, manage, and operate their services with confidence.\nIt provides a single source of truth for all their services, making it easy to discover, understand, and manage them.\n\nThe main components of OpsLevel include:\n- **Catalog**: A comprehensive catalog of components, services and infrastructure, including metadata, ownership, and documentation. This can be broken down further into:\n - Teams\n - Components (previously known as services. This is the main entity in OpsLevel, representing a service or application that is owned by a team. Has a name, description and type)\n - Repositories\n - Infrastructure\n - Systems (a way to represent Components that combine to form a unified whole or function.)\n - Domains (large business units or verticals, made up of Systems)\n - Component Dependencies\n- **Component Maturity**: A set of customer defined best practices and standards for building and operating services, including security, reliability, and performance.\n - Rubrics (evaluation of these determines a component's maturity level across an organization)\n - Scorecards (like a rubric but does not impact maturity level)\n - Checks (scorecards and rubrics are made up of individual checks like \"has a README\" or \"has a health check\")\n - Filters (a named set of predicates that select components based on their metadata, like \"uses rails\" or \"is owned by team X\")\n- **Actions**: Tools and integrations that help automate common tasks and workflows, such as deployment, monitoring, and incident response.\n"}}
[opslevel-mcp-7fffd66dbc-vlp28] [supergateway] Initialize response received
[opslevel-mcp-7fffd66dbc-vlp28] [supergateway] StreamableHttp → Child (initialized): {"jsonrpc":"2.0","method":"notifications/initialized"}
[opslevel-mcp-7fffd66dbc-vlp28] [supergateway] StreamableHttp → Child (original): {"jsonrpc":"2.0","id":5,"method":"resources/templates/list","params":{}}
[opslevel-mcp-7fffd66dbc-vlp28] [supergateway] Child → StreamableHttp: {"jsonrpc":"2.0","id":5,"error":{"code":-32601,"message":"resources not supported"}}
Thanks in advance for any help! And happy to provide more info if needed!
Metadata
Metadata
Assignees
Labels
No labels
