Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
default_agent: mcp_stdio
agents:
mcp_stdio:
name: mcp_stdio
entrypoint: main.py
platform: linux/arm64
container_runtime: docker
aws:
execution_role: arn:aws:iam::416075262792:role/AmazonBedrockAgentCoreSDKRuntime-us-east-1-a1350239bb
execution_role_auto_create: false
account: '416075262792'
region: us-east-1
ecr_repository: 416075262792.dkr.ecr.us-east-1.amazonaws.com/bedrock-agentcore-mcp_stdio
ecr_auto_create: false
network_configuration:
network_mode: PUBLIC
protocol_configuration:
server_protocol: MCP
observability:
enabled: true
bedrock_agentcore:
agent_id: mcp_stdio-gTGNJNErHb
agent_arn: arn:aws:bedrock-agentcore:us-east-1:416075262792:runtime/mcp_stdio-gTGNJNErHb
agent_session_id: null
codebuild:
project_name: null
execution_role: null
source_bucket: null
authorizer_configuration:
customJWTAuthorizer:
allowedClients:
- 3egn0ph7mmsg19c5cvraoroo2o
discoveryUrl: https://cognito-idp.eu-west-1.amazonaws.com/eu-west-1_B2tQC2cD4/.well-known/openid-configuration
oauth_configuration: null
10 changes: 10 additions & 0 deletions 01-tutorials/01-AgentCore-runtime/06-mcp-stdio-server/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
FROM python:3.13-alpine
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
WORKDIR /app
COPY pyproject.toml .
RUN uv sync
COPY main.py .

EXPOSE 8000

CMD ["uv", "run", "main.py"]
23 changes: 23 additions & 0 deletions 01-tutorials/01-AgentCore-runtime/06-mcp-stdio-server/main.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
from fastmcp import FastMCP
from fastmcp.client.transports import StdioTransport
from fastmcp.server.proxy import ProxyClient
from starlette.responses import JSONResponse

# Create a proxy directly from a config dictionary
transport = StdioTransport(
command="uv",
args=["run", "awslabs.aws-documentation-mcp-server"],
)

# Create a proxy to the configured server (auto-creates ProxyClient)
proxy = FastMCP.as_proxy(ProxyClient(transport), name="Proxy", stateless_http=True)


@proxy.custom_route("/ping", ["GET"])
def ping(req):
return JSONResponse({"status": "healthy"})


# Run the proxy with stdio transport for local access
if __name__ == "__main__":
proxy.run(transport="streamable-http", host="0.0.0.0", port=8000)
Loading