# Using MCP Tools in Your Own Agent — Agent Frameworks and MCP Basics

Source: https://www.geekswithgeeks.com/en/agent-frameworks-mcp/cli-in-your-agent

> Understand how an application lists a server's tools and forwards calls from the model.

## The client's job

When you build your own host, your MCP client does three things: connect to the server, call `tools/list` to get the tool definitions, and forward each model-requested call with `tools/call`. The definitions slot straight into the tool list you already send to the model, so the agent loop from Section 1 does not change.

## The idea in pseudocode

Real SDK calls differ by language and version, so this sketch shows the flow rather than exact method names.

```python
session = connect(server_command)           # 1. connect
tools = session.list_tools()                # 2. discover
model_tools = [to_model_schema(t) for t in tools]

# inside the agent loop, when the model requests a tool:
result = session.call_tool(name, arguments) # 3. forward the call
```

## Namespace tool names

Two servers may both expose a tool called `search`. Prefix names with the server (for example `issues_search`) when merging tool lists so the model and your router never confuse them.

**Quiz:** Which MCP method returns the available tool definitions?

- [ ] tools/call
- [x] tools/list
- [ ] prompts/run
- [ ] server/delete

*Answer:* tools/list. `tools/list` discovers tools; `tools/call` executes one.
