An efficient service matching process is crucial for solving complex problems based on heterogeneous agents. Agent cooperation can be achieved through matching requesting agents with service-providing agents, and, through such cooperation, multi-agents can solve a variety of complex problems. Improving the efficiency of the agent-matching process has become an important issue in multi-agent research. The adoption of an appropriate agent-matching mechanism will enhance agent cooperation and communication efficiency within an agent network. In this paper, we develop a new agent-matching algorithm, the Agent-Rank algorithm, which ranks service-providing agents according to their contributions to a nominated requesting agent based on Agent Association Graphs. The Agent-Rank algorithm overcomes the problems of agent-matching in a large agent network through combining the general ranking scores with the request-based ranking scores. In our experimental evaluation, we have found that the Agent-Rank algorithm can significantly improve efficiency in the agent-matching and re-matching processes.