deep-agentic-core-mcp 0.1.0__py3-none-any.whl
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.
- deep_agentic_core_mcp/__init__.py +5 -0
- deep_agentic_core_mcp/adapters/__init__.py +1 -0
- deep_agentic_core_mcp/adapters/agentic_chaos.py +6 -0
- deep_agentic_core_mcp/adapters/agenticlens.py +6 -0
- deep_agentic_core_mcp/config.py +5 -0
- deep_agentic_core_mcp/prompts/__init__.py +1 -0
- deep_agentic_core_mcp/prompts/registry.py +15 -0
- deep_agentic_core_mcp/resources/__init__.py +1 -0
- deep_agentic_core_mcp/resources/catalog.py +17 -0
- deep_agentic_core_mcp/schemas/__init__.py +1 -0
- deep_agentic_core_mcp/schemas/tooling.py +26 -0
- deep_agentic_core_mcp/server.py +117 -0
- deep_agentic_core_mcp/services/__init__.py +1 -0
- deep_agentic_core_mcp/services/registry.py +25 -0
- deep_agentic_core_mcp/tools/__init__.py +1 -0
- deep_agentic_core_mcp/tools/chaos.py +8 -0
- deep_agentic_core_mcp/tools/core.py +13 -0
- deep_agentic_core_mcp/tools/lens.py +8 -0
- deep_agentic_core_mcp/tools/registry.py +27 -0
- deep_agentic_core_mcp-0.1.0.dist-info/METADATA +192 -0
- deep_agentic_core_mcp-0.1.0.dist-info/RECORD +23 -0
- deep_agentic_core_mcp-0.1.0.dist-info/WHEEL +4 -0
- deep_agentic_core_mcp-0.1.0.dist-info/entry_points.txt +2 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Integration adapters for sibling DeepAgentLabs projects."""
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Prompt definitions exposed by the MCP server."""
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"""Reusable prompt catalog placeholders."""
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
def list_prompts() -> list[dict[str, str]]:
|
|
5
|
+
"""Return the initial prompt registry."""
|
|
6
|
+
return [
|
|
7
|
+
{
|
|
8
|
+
"name": "lens.workflow_summary",
|
|
9
|
+
"description": "Summarize an analyzed workflow for a human operator.",
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"name": "chaos.experiment_brief",
|
|
13
|
+
"description": "Explain the intent and expected impact of a chaos run.",
|
|
14
|
+
},
|
|
15
|
+
]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Resource catalogs exposed by the MCP server."""
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"""Placeholder resource catalog."""
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
def list_resources() -> list[dict[str, str]]:
|
|
5
|
+
"""Return the initial resource inventory."""
|
|
6
|
+
return [
|
|
7
|
+
{
|
|
8
|
+
"uri": "resource://examples/sample_workflow",
|
|
9
|
+
"name": "Sample workflow artifact",
|
|
10
|
+
"kind": "workflow-json",
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"uri": "resource://catalogs/chaos_faults",
|
|
14
|
+
"name": "Chaos fault catalog",
|
|
15
|
+
"kind": "reference",
|
|
16
|
+
},
|
|
17
|
+
]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Typed contracts for MCP-facing operations."""
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"""Core schema definitions for early tool contracts."""
|
|
2
|
+
|
|
3
|
+
from pydantic import BaseModel, Field
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class ToolDescriptor(BaseModel):
|
|
7
|
+
"""Basic metadata describing an MCP tool."""
|
|
8
|
+
|
|
9
|
+
name: str
|
|
10
|
+
title: str
|
|
11
|
+
description: str
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class ResourceDescriptor(BaseModel):
|
|
15
|
+
"""Basic metadata describing an MCP resource."""
|
|
16
|
+
|
|
17
|
+
uri: str
|
|
18
|
+
name: str
|
|
19
|
+
kind: str = Field(description="Broad classification for the resource payload.")
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class PromptDescriptor(BaseModel):
|
|
23
|
+
"""Basic metadata describing an MCP prompt."""
|
|
24
|
+
|
|
25
|
+
name: str
|
|
26
|
+
description: str
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"""MCP server entrypoint using the official MCP Python SDK (stdio transport)."""
|
|
2
|
+
|
|
3
|
+
import asyncio
|
|
4
|
+
import json
|
|
5
|
+
from collections.abc import Callable
|
|
6
|
+
from typing import Any
|
|
7
|
+
|
|
8
|
+
from mcp.server import Server
|
|
9
|
+
from mcp.server.stdio import stdio_server
|
|
10
|
+
from mcp.types import Resource, TextContent, Tool
|
|
11
|
+
from pydantic import AnyUrl
|
|
12
|
+
|
|
13
|
+
from deep_agentic_core_mcp.config import SERVER_NAME
|
|
14
|
+
from deep_agentic_core_mcp.resources.catalog import list_resources as _catalog_resources
|
|
15
|
+
from deep_agentic_core_mcp.tools.core import health, version
|
|
16
|
+
from deep_agentic_core_mcp.tools.registry import list_tools as _registry_tools
|
|
17
|
+
|
|
18
|
+
# ---------------------------------------------------------------------------
|
|
19
|
+
# Server instance
|
|
20
|
+
# ---------------------------------------------------------------------------
|
|
21
|
+
|
|
22
|
+
server = Server(SERVER_NAME)
|
|
23
|
+
|
|
24
|
+
# ---------------------------------------------------------------------------
|
|
25
|
+
# Tool dispatch
|
|
26
|
+
# ---------------------------------------------------------------------------
|
|
27
|
+
|
|
28
|
+
_TOOL_DISPATCH: dict[str, Callable[[], dict[str, str]]] = {
|
|
29
|
+
"core.health": health,
|
|
30
|
+
"core.version": version,
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
# ---------------------------------------------------------------------------
|
|
34
|
+
# Tool definitions (derived from the canonical registry)
|
|
35
|
+
# ---------------------------------------------------------------------------
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
def _build_tools() -> list[Tool]:
|
|
39
|
+
"""Build Tool objects from the central tool registry.
|
|
40
|
+
|
|
41
|
+
Only tools with a registered handler are advertised.
|
|
42
|
+
"""
|
|
43
|
+
return [
|
|
44
|
+
Tool(
|
|
45
|
+
name=entry["name"],
|
|
46
|
+
description=entry["description"],
|
|
47
|
+
inputSchema={"type": "object", "properties": {}, "additionalProperties": False},
|
|
48
|
+
)
|
|
49
|
+
for entry in _registry_tools()
|
|
50
|
+
if entry["name"] in _TOOL_DISPATCH
|
|
51
|
+
]
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
def _build_resources() -> list[Resource]:
|
|
55
|
+
"""Build Resource objects from the central resource catalog."""
|
|
56
|
+
return [
|
|
57
|
+
Resource(
|
|
58
|
+
uri=AnyUrl(entry["uri"]),
|
|
59
|
+
name=entry["name"],
|
|
60
|
+
mimeType="application/json",
|
|
61
|
+
)
|
|
62
|
+
for entry in _catalog_resources()
|
|
63
|
+
]
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
TOOLS: list[Tool] = _build_tools()
|
|
67
|
+
RESOURCES: list[Resource] = _build_resources()
|
|
68
|
+
|
|
69
|
+
# ---------------------------------------------------------------------------
|
|
70
|
+
# Handlers
|
|
71
|
+
# ---------------------------------------------------------------------------
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
@server.list_tools() # type: ignore[no-untyped-call, untyped-decorator]
|
|
75
|
+
async def handle_list_tools() -> list[Tool]:
|
|
76
|
+
"""Advertise available tools."""
|
|
77
|
+
return TOOLS
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
@server.call_tool() # type: ignore[untyped-decorator]
|
|
81
|
+
async def handle_call_tool(name: str, arguments: dict[str, Any] | None) -> list[TextContent]:
|
|
82
|
+
"""Dispatch tool calls and return JSON results."""
|
|
83
|
+
handler = _TOOL_DISPATCH.get(name)
|
|
84
|
+
if handler is None:
|
|
85
|
+
return [TextContent(type="text", text=json.dumps({"error": f"Unknown tool: {name}"}))]
|
|
86
|
+
result = handler()
|
|
87
|
+
return [TextContent(type="text", text=json.dumps(result))]
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
@server.list_resources() # type: ignore[no-untyped-call, untyped-decorator]
|
|
91
|
+
async def handle_list_resources() -> list[Resource]:
|
|
92
|
+
"""Advertise available resources."""
|
|
93
|
+
return RESOURCES
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
# ---------------------------------------------------------------------------
|
|
97
|
+
# Entrypoint
|
|
98
|
+
# ---------------------------------------------------------------------------
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
async def run_server() -> None:
|
|
102
|
+
"""Start the MCP server over stdio."""
|
|
103
|
+
async with stdio_server() as (read_stream, write_stream):
|
|
104
|
+
await server.run(
|
|
105
|
+
read_stream,
|
|
106
|
+
write_stream,
|
|
107
|
+
server.create_initialization_options(),
|
|
108
|
+
)
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
def main() -> None:
|
|
112
|
+
"""Synchronous entrypoint for console_scripts."""
|
|
113
|
+
asyncio.run(run_server())
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
if __name__ == "__main__":
|
|
117
|
+
main()
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Shared orchestration services."""
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"""Service helpers for server-side registries."""
|
|
2
|
+
|
|
3
|
+
from deep_agentic_core_mcp.prompts.registry import list_prompts
|
|
4
|
+
from deep_agentic_core_mcp.resources.catalog import list_resources
|
|
5
|
+
from deep_agentic_core_mcp.schemas.tooling import (
|
|
6
|
+
PromptDescriptor,
|
|
7
|
+
ResourceDescriptor,
|
|
8
|
+
ToolDescriptor,
|
|
9
|
+
)
|
|
10
|
+
from deep_agentic_core_mcp.tools.registry import list_tools
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def tool_descriptors() -> list[ToolDescriptor]:
|
|
14
|
+
"""Return typed tool metadata."""
|
|
15
|
+
return [ToolDescriptor(**tool) for tool in list_tools()]
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
def resource_descriptors() -> list[ResourceDescriptor]:
|
|
19
|
+
"""Return typed resource metadata."""
|
|
20
|
+
return [ResourceDescriptor(**resource) for resource in list_resources()]
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
def prompt_descriptors() -> list[PromptDescriptor]:
|
|
24
|
+
"""Return typed prompt metadata."""
|
|
25
|
+
return [PromptDescriptor(**prompt) for prompt in list_prompts()]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Tool group modules for the MCP server."""
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"""Core server tool stubs."""
|
|
2
|
+
|
|
3
|
+
from deep_agentic_core_mcp.config import SERVER_NAME, VERSION
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
def health() -> dict[str, str]:
|
|
7
|
+
"""Return a basic health payload."""
|
|
8
|
+
return {"status": "ok", "server": SERVER_NAME}
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def version() -> dict[str, str]:
|
|
12
|
+
"""Return the current package version."""
|
|
13
|
+
return {"version": VERSION}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"""Central tool metadata registry."""
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
def list_tools() -> list[dict[str, str]]:
|
|
5
|
+
"""Return the initial tool inventory for the server."""
|
|
6
|
+
return [
|
|
7
|
+
{
|
|
8
|
+
"name": "core.health",
|
|
9
|
+
"title": "Health Check",
|
|
10
|
+
"description": "Return the basic health status of the MCP server.",
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"name": "core.version",
|
|
14
|
+
"title": "Server Version",
|
|
15
|
+
"description": "Return the current server package version.",
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"name": "lens.analyze_workflow",
|
|
19
|
+
"title": "Analyze Workflow",
|
|
20
|
+
"description": "Analyze an AgenticLens-compatible workflow artifact.",
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"name": "chaos.list_faults",
|
|
24
|
+
"title": "List Chaos Faults",
|
|
25
|
+
"description": "List the supported fault types for chaos experiments.",
|
|
26
|
+
},
|
|
27
|
+
]
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: deep-agentic-core-mcp
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: Unified MCP server for AgenticLens and Agentic Chaos workflows.
|
|
5
|
+
Project-URL: Homepage, https://github.com/DeepAgentLabs/deep-agentic-core-mcp
|
|
6
|
+
Project-URL: Repository, https://github.com/DeepAgentLabs/deep-agentic-core-mcp
|
|
7
|
+
Project-URL: Issues, https://github.com/DeepAgentLabs/deep-agentic-core-mcp/issues
|
|
8
|
+
Author: DeepAgentLabs
|
|
9
|
+
License: MIT
|
|
10
|
+
Keywords: agentic-ai,chaos-engineering,llm,mcp,observability
|
|
11
|
+
Classifier: Development Status :: 3 - Alpha
|
|
12
|
+
Classifier: Intended Audience :: Developers
|
|
13
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
14
|
+
Classifier: Programming Language :: Python :: 3
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
18
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
19
|
+
Requires-Python: >=3.10
|
|
20
|
+
Requires-Dist: mcp>=1.10.0
|
|
21
|
+
Requires-Dist: pydantic<3,>=2.0
|
|
22
|
+
Provides-Extra: dev
|
|
23
|
+
Requires-Dist: build>=1.2; extra == 'dev'
|
|
24
|
+
Requires-Dist: mypy>=1.10; extra == 'dev'
|
|
25
|
+
Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
|
|
26
|
+
Requires-Dist: pytest-cov>=5.0; extra == 'dev'
|
|
27
|
+
Requires-Dist: pytest>=8.0; extra == 'dev'
|
|
28
|
+
Requires-Dist: ruff>=0.6; extra == 'dev'
|
|
29
|
+
Requires-Dist: twine>=5.1; extra == 'dev'
|
|
30
|
+
Description-Content-Type: text/markdown
|
|
31
|
+
|
|
32
|
+
# deep-agentic-core-mcp
|
|
33
|
+
|
|
34
|
+
`deep-agentic-core-mcp` is the shared MCP server layer for the DeepAgentLabs
|
|
35
|
+
ecosystem. It is designed to expose a single MCP interface that combines:
|
|
36
|
+
|
|
37
|
+
- `agenticlens` style workflow inspection, profiling, and analysis
|
|
38
|
+
- `agentic-chaos` style resilience testing and fault-injection workflows
|
|
39
|
+
|
|
40
|
+
The goal is one MCP server, one package, and one registry identity rather than
|
|
41
|
+
separate MCP servers for each product surface.
|
|
42
|
+
|
|
43
|
+
<!-- mcp-name: io.github.deepagentlabs/deep-agentic-core-mcp -->
|
|
44
|
+
|
|
45
|
+
## Idea
|
|
46
|
+
|
|
47
|
+
This project is the control plane between LLM hosts and the existing Python
|
|
48
|
+
libraries:
|
|
49
|
+
|
|
50
|
+
- `agenticlens` remains the core profiling and analysis engine
|
|
51
|
+
- `agentic-chaos` remains the core chaos and resilience engine
|
|
52
|
+
- `deep-agentic-core-mcp` becomes the MCP-native interface that hosts can call
|
|
53
|
+
|
|
54
|
+
That means MCP clients can connect once and access both observability and chaos
|
|
55
|
+
testing capabilities through one server.
|
|
56
|
+
|
|
57
|
+
## What This Server Should Eventually Do
|
|
58
|
+
|
|
59
|
+
Planned capability areas:
|
|
60
|
+
|
|
61
|
+
- profile an agentic workflow and return structured telemetry summaries
|
|
62
|
+
- analyze workflow artifacts and surface optimization recommendations
|
|
63
|
+
- run controlled chaos experiments against target workflows
|
|
64
|
+
- compare normal versus chaos runs
|
|
65
|
+
- expose shared resources such as workflow schemas, run metadata, and saved
|
|
66
|
+
reports
|
|
67
|
+
|
|
68
|
+
## Design Principles
|
|
69
|
+
|
|
70
|
+
- One MCP identity: publish a single server to the MCP Registry
|
|
71
|
+
- Python-first: package and publish through PyPI
|
|
72
|
+
- Thin orchestration layer: reuse `agenticlens` and `agentic-chaos` instead of
|
|
73
|
+
re-implementing their logic
|
|
74
|
+
- Local-first: work well as a stdio MCP server for developer workflows
|
|
75
|
+
- Expandable: leave room for a later remote deployment mode if needed
|
|
76
|
+
|
|
77
|
+
## Initial Scope
|
|
78
|
+
|
|
79
|
+
The first milestone is foundation only:
|
|
80
|
+
|
|
81
|
+
- repository structure
|
|
82
|
+
- packaging metadata
|
|
83
|
+
- MCP registry metadata
|
|
84
|
+
- roadmap and product framing
|
|
85
|
+
- minimal server entrypoint and tool layout
|
|
86
|
+
|
|
87
|
+
The first working implementation can stay intentionally small while the shape of
|
|
88
|
+
the tool surface stabilizes.
|
|
89
|
+
|
|
90
|
+
## Proposed MCP Surface
|
|
91
|
+
|
|
92
|
+
Possible first tool groups:
|
|
93
|
+
|
|
94
|
+
- `lens.profile_workflow`
|
|
95
|
+
- `lens.analyze_workflow`
|
|
96
|
+
- `chaos.run_experiment`
|
|
97
|
+
- `chaos.list_faults`
|
|
98
|
+
- `core.health`
|
|
99
|
+
- `core.version`
|
|
100
|
+
|
|
101
|
+
These names are placeholders, but the structure matters: one server can expose
|
|
102
|
+
multiple tools without needing multiple MCP packages or registry entries.
|
|
103
|
+
|
|
104
|
+
## Repository Layout
|
|
105
|
+
|
|
106
|
+
```text
|
|
107
|
+
mcp-server/
|
|
108
|
+
├── README.md
|
|
109
|
+
├── ROADMAP.md
|
|
110
|
+
├── pyproject.toml
|
|
111
|
+
├── server.json
|
|
112
|
+
├── .gitignore
|
|
113
|
+
├── docs/
|
|
114
|
+
│ └── architecture.md
|
|
115
|
+
├── examples/
|
|
116
|
+
│ └── sample_workflow.json
|
|
117
|
+
├── src/
|
|
118
|
+
│ └── deep_agentic_core_mcp/
|
|
119
|
+
│ ├── __init__.py
|
|
120
|
+
│ ├── server.py
|
|
121
|
+
│ ├── config.py
|
|
122
|
+
│ ├── prompts/
|
|
123
|
+
│ │ ├── __init__.py
|
|
124
|
+
│ │ └── registry.py
|
|
125
|
+
│ ├── resources/
|
|
126
|
+
│ │ ├── __init__.py
|
|
127
|
+
│ │ └── catalog.py
|
|
128
|
+
│ ├── schemas/
|
|
129
|
+
│ │ ├── __init__.py
|
|
130
|
+
│ │ └── tooling.py
|
|
131
|
+
│ ├── services/
|
|
132
|
+
│ │ ├── __init__.py
|
|
133
|
+
│ │ └── registry.py
|
|
134
|
+
│ ├── adapters/
|
|
135
|
+
│ │ ├── __init__.py
|
|
136
|
+
│ │ ├── agentic_chaos.py
|
|
137
|
+
│ │ └── agenticlens.py
|
|
138
|
+
│ └── tools/
|
|
139
|
+
│ ├── __init__.py
|
|
140
|
+
│ ├── registry.py
|
|
141
|
+
│ ├── chaos.py
|
|
142
|
+
│ ├── core.py
|
|
143
|
+
│ └── lens.py
|
|
144
|
+
└── tests/
|
|
145
|
+
├── test_imports.py
|
|
146
|
+
└── test_registry.py
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
## MCP-Oriented Structure
|
|
150
|
+
|
|
151
|
+
This repository should have all of the standard layers we expect for a useful
|
|
152
|
+
MCP server:
|
|
153
|
+
|
|
154
|
+
- `tools/` for callable MCP tools and their registration metadata
|
|
155
|
+
- `resources/` for readable assets such as fault catalogs, templates, and
|
|
156
|
+
workflow examples
|
|
157
|
+
- `prompts/` for reusable prompt templates exposed through the server
|
|
158
|
+
- `schemas/` for typed request and response contracts
|
|
159
|
+
- `services/` for shared orchestration logic that keeps tool modules thin
|
|
160
|
+
- `adapters/` for integration boundaries to `agenticlens` and
|
|
161
|
+
`agentic-chaos`
|
|
162
|
+
|
|
163
|
+
The implementation is still early, but the file structure now reflects that
|
|
164
|
+
shape so we can add functionality without reshuffling the repo later.
|
|
165
|
+
|
|
166
|
+
## Packaging and Publishing Model
|
|
167
|
+
|
|
168
|
+
`deep-agentic-core-mcp` should publish in two layers:
|
|
169
|
+
|
|
170
|
+
1. Publish the Python package to PyPI.
|
|
171
|
+
2. Publish the MCP metadata in `server.json` to the official MCP Registry.
|
|
172
|
+
|
|
173
|
+
For PyPI-based verification, the `mcp-name` marker above must match the
|
|
174
|
+
`name` field in `server.json`.
|
|
175
|
+
|
|
176
|
+
## Near-Term Build Order
|
|
177
|
+
|
|
178
|
+
1. Lock the canonical namespace and package metadata.
|
|
179
|
+
2. Implement the stdio MCP server entrypoint.
|
|
180
|
+
3. Add a minimal `core.health` tool.
|
|
181
|
+
4. Add the first `agenticlens` and `agentic-chaos` adapter-backed tools.
|
|
182
|
+
5. Add examples and publishable packaging checks.
|
|
183
|
+
|
|
184
|
+
## Notes
|
|
185
|
+
|
|
186
|
+
This scaffold assumes the intended GitHub namespace is
|
|
187
|
+
`io.github.deepagentlabs/deep-agentic-core-mcp`. If the final publishing
|
|
188
|
+
account or org changes, update:
|
|
189
|
+
|
|
190
|
+
- the `mcp-name` marker in this README
|
|
191
|
+
- `server.json`
|
|
192
|
+
- any repository URLs in `pyproject.toml`
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
deep_agentic_core_mcp/__init__.py,sha256=kpcXXYGgzMI7gdqTMPnkacPOLTCXpRmtvXrk-jPOWec,111
|
|
2
|
+
deep_agentic_core_mcp/config.py,sha256=mlEntkCQG3KJIeCs4OQ7hzurzvBRRli3W5STMkOzpGE,165
|
|
3
|
+
deep_agentic_core_mcp/server.py,sha256=T827I8c-h8BTeCxlvy514mZK4W6ytN_Tb7sBeHY7aRo,3747
|
|
4
|
+
deep_agentic_core_mcp/adapters/__init__.py,sha256=pzJVEpJRY97cc9A8ZqHKLyweZmWiUyjGYYQ_Od6nl1E,63
|
|
5
|
+
deep_agentic_core_mcp/adapters/agentic_chaos.py,sha256=-QYRVqOmZeph5QPc1HkQauQajzllNO-LENk63FV2Ilc,219
|
|
6
|
+
deep_agentic_core_mcp/adapters/agenticlens.py,sha256=ZlHtCQ8ErcWK1PuCCGvBrP53CPMbLui36WJErBorPKU,223
|
|
7
|
+
deep_agentic_core_mcp/prompts/__init__.py,sha256=CaHxzwxGngf66dR0p94O-uDQm6B4cDj9EPzvH1qFnY8,52
|
|
8
|
+
deep_agentic_core_mcp/prompts/registry.py,sha256=78ivvsakwmMIS7Gkc5AxdVNZyuQgA8kjBDwXMgw96Lk,456
|
|
9
|
+
deep_agentic_core_mcp/resources/__init__.py,sha256=r6oCIhjB9q0Ugpe08hibVdZxpTkn_cvciiOZ-ONsFk0,51
|
|
10
|
+
deep_agentic_core_mcp/resources/catalog.py,sha256=r7qDmjqtgzhcQ8OusE0NxUc059kvsSh0BBhL1c1VLdM,468
|
|
11
|
+
deep_agentic_core_mcp/schemas/__init__.py,sha256=ZWc0vXRW6Hqlw73FszpPHIWSiimD66-rHoaktwB5Wug,49
|
|
12
|
+
deep_agentic_core_mcp/schemas/tooling.py,sha256=iwYR4R1ciFki3Ecak12_64Y2Nmij2STbbXHhbQfQt38,558
|
|
13
|
+
deep_agentic_core_mcp/services/__init__.py,sha256=41sjpZbjFsPkVOnEk3ZQBR_e_4f_-pKkW2RRwvVQmLw,37
|
|
14
|
+
deep_agentic_core_mcp/services/registry.py,sha256=Fi6QeQCwkMv_RJM74xjSWVenTbkaoU7FLg_T_lnNDSo,851
|
|
15
|
+
deep_agentic_core_mcp/tools/__init__.py,sha256=VVDIHYoMGjtZZRtj2DwRb8uEzbkD-q0G9e6Fn-FUgyk,45
|
|
16
|
+
deep_agentic_core_mcp/tools/chaos.py,sha256=P_uQGt2TaFqQHg_d3h6M5hxVKRfj1750a1IE3MwzyAM,252
|
|
17
|
+
deep_agentic_core_mcp/tools/core.py,sha256=HLivqsL0fUAFCwWw-1-yRo4e2bulD71NooQm19py3rE,332
|
|
18
|
+
deep_agentic_core_mcp/tools/lens.py,sha256=8McsDiijYUNFL2E64vKGJifRwxxS4TAu-EyhDjuUudc,247
|
|
19
|
+
deep_agentic_core_mcp/tools/registry.py,sha256=dzOy-8Tqb2I3LygqkXjTHGCKw_hLbqov1UbLDct9KCc,881
|
|
20
|
+
deep_agentic_core_mcp-0.1.0.dist-info/METADATA,sha256=FdTxkwsfvyPSvGXQbd8L3rHhGO66pA76pfbOoAFxbik,6532
|
|
21
|
+
deep_agentic_core_mcp-0.1.0.dist-info/WHEEL,sha256=lCkmxWfQsSc9CfIClYeavTdQeEX2toPqufh9gI35EQA,87
|
|
22
|
+
deep_agentic_core_mcp-0.1.0.dist-info/entry_points.txt,sha256=YrVOMH2IHqFlrD2m798XfJoOdqNDWRh_xYa8beuaC_Y,76
|
|
23
|
+
deep_agentic_core_mcp-0.1.0.dist-info/RECORD,,
|