# Gradient > Build, ship, and evaluate voice and chat agents in one workflow. - [Introduction](https://docs.usegradient.dev/introduction.md) - [Quickstart](https://docs.usegradient.dev/quickstart.md): Build a two-node agent, test it in the dashboard, publish version 1, and reach it over the API or a phone number. - [Core concepts](https://docs.usegradient.dev/concepts.md): The shared vocabulary behind Gradient: agents, nodes, tools, versions, datasets, and rubrics. - [Agents and topology](https://docs.usegradient.dev/build/agents.md): How Gradient models an agent as a topology of single-prompt nodes, with handoffs that are themselves callable tools. - [Tools](https://docs.usegradient.dev/build/tools.md): The four tool shapes a node can carry (agent_swap, end_call, custom, and http_req) and how they attach and run. - [Custom tools](https://docs.usegradient.dev/build/custom-tools.md): Author handlers in Python, deploy them with the Gradient CLI, and call them from agents or over the API. - [Knowledge and skills](https://docs.usegradient.dev/build/knowledge-and-skills.md): Attach knowledge bases and skills to a node so the model can search documents and load instructions on demand. - [Publishing and versions](https://docs.usegradient.dev/publish/versions.md): How the mutable draft graph becomes an immutable, numbered version, and how a published version pins live traffic. - [Chat](https://docs.usegradient.dev/run/chat.md): Run an agent over chat from the dashboard Conversation or the public invoke endpoint. - [Voice](https://docs.usegradient.dev/run/voice.md): Answer and place phone calls with the same agent graph, prompts, tools, and versions you run over chat. - [MCP](https://docs.usegradient.dev/run/mcp.md): Drive your Gradient organization from Claude Code, Cursor, or any MCP client through the hosted Streamable HTTP server. - [Datasets](https://docs.usegradient.dev/evaluate/datasets.md): First-class Postgres datasets: one managed Postgres database per dataset, editable as tables in the console and forked per redteam conversation. - [Redteam testing](https://docs.usegradient.dev/evaluate/redteam.md): Run the real production topology against a per-conversation fork of a seeded dataset instead of mocking tools, with personas drawn from the data. - [Rubrics, scenarios, and rules](https://docs.usegradient.dev/evaluate/rubrics.md): A rubric is a topology's definition of correct: scenarios carrying LLM-judged rules that grade both production and redteam conversations against the transcript and the tool calls. - [Results and traces](https://docs.usegradient.dev/evaluate/results.md): Read a graded run by scenario and by node, and use native agent traces (transcript, spans, and rubric grade) to turn a failing rule into a fix with an address. - [Organizations and API keys](https://docs.usegradient.dev/platform/organizations.md): The organization is your tenant: manage members and roles, and create, scope, and revoke the API keys that authenticate the invoke endpoints, the CLI, and MCP. - [Billing](https://docs.usegradient.dev/platform/billing.md): How Gradient meters usage: voice per minute by model class, chat and API per token, plus trials, payment, and the billing page. - [API overview](https://docs.usegradient.dev/api/overview.md): The two Gradient API surfaces, the engine for running agents and the console for tools, MCP, and management, with their shared JSON and auth conventions. - [Authentication](https://docs.usegradient.dev/api/authentication.md): Authenticate every Gradient API and MCP request with an organization-scoped API key sent as a Bearer token. - [Invoke a published agent](https://docs.usegradient.dev/api/agents/invoke.md): Run a published agent with a single request: POST the user message as text and get the agent's reply as JSON. - [Turn (low-level)](https://docs.usegradient.dev/api/agents/turn.md): The low-level turn endpoint for callers that carry their own transcript state across a conversation. - [Invoke a custom tool](https://docs.usegradient.dev/api/tools/invoke.md): Call a deployed custom tool over HTTP and get its handler's JSON back. - [Hosted MCP](https://docs.usegradient.dev/api/mcp.md): Connect Claude Code, Cursor, or any MCP client to Gradient's hosted Streamable HTTP server to drive your organization by API key.